квадратная матрица размера 5 x 5, заполненная целыми числами так, что в каждой строке и каждом столбце ровно по одному нулевому элементу
Помогите Вместо ручного ввода цифр, сделать рандомный, Но чтобы в каждой строке и каждом столбце ровно по одному нулевому элементу.
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
// Ввод элементов массива
void print_matrix(int a[5][5])
{
int i, j;
for (i = 0; i < 5; i++) // цикл по строкам
{
for (j = 0; j < 5; j++) // цикл по столбцам
{
printf("a[%d][%d] = ", i, j);
scanf_s("%d", &a[i][j]);
}
}
}
// Ввывод элементов массива
void out_matrix(int a[5][5]) {
int i, j;
for (i = 0; i < 5; i++) // цикл по строкам
{
for (j = 0; j < 5; j++) // цикл по столбцам
{
printf("%d ", a[i][j]);
}
printf("\n");
}
}
//Перестановка строк
void zam_matrix(int a[5][5]) {
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 5; j++)
{
if (a[i][j] == 0)
{
int m = j;
for (int l = 0; l < 5; l++)
{
int k = a[i][l];
a[i][l] = a[m][l];
a[m][l] = k;
}
}
}
}
}
void main()
{
int a[5][5];
print_matrix(a);
out_matrix(a);
zam_matrix(a);
printf("After:\n");
out_matrix(a);
}