Найти в матрице первую по порядку строку, содержащую наибольшее количество нулей - C (СИ)
Формулировка задачи:
дана матрица.найти в ней первую по порядку строку, содержащую наибольшее количество нулей.
Решение задачи: «Найти в матрице первую по порядку строку, содержащую наибольшее количество нулей»
textual
Листинг программы
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
main()
{
const int n=4;
int a[n][n], i, j, max=0, imax,z;
srand(time(NULL));
for (i=0; i<=n; i++)
{
z=0;
for (j=0; j<=n; j++)
{
a[i][j]=rand()%5;
if (a[i][j] == 0)
z++;
printf("%3d",a[i][j]);
}
if (z>max)
{
max=z;
imax=i+1;
}
printf("\n");
}
printf("Номер строки = %d",imax);
getch();
}
Объяснение кода листинга программы
В этом коде используется язык программирования C. Список действий, которые выполняются в коде:
- Включаются необходимые заголовочные файлы:
stdio.h- для работы с вводом/выводом данных;conio.h- для работы с функциейgetch(), которая используется для приостановки выполнения программы до нажатия клавиши;stdlib.h- для работы с функциейrand()иsrand();time.h- для инициализации генератора случайных чисел.
- Определяются переменные:
n- размер матрицы (4х4);a[n][n]- матрица целых чисел размером n на n;iиj- индексы для обхода матрицы;max- максимальное количество нулей в строке;imax- номер строки с максимальным количеством нулей;z- счетчик нулей в текущей строке.
- Задаются начальные условия:
- С помощью функции
srand(time(NULL))инициализируется генератор случайных чисел текущим временем; - Матрица
a[n][n]заполняется случайными числами от 0 до 4 с помощью циклаforи функцииrand()%5.
- С помощью функции
- Находится строка с максимальным количеством нулей:
- Цикл
forпроходит по всем строкам матрицы; - В каждой строке подсчитывается количество нулей с помощью переменной
z; - Если количество нулей в текущей строке больше, чем максимальное количество, то обновляются значения переменных
maxиimax; - После окончания цикла выводится на экран количество нулей в каждой строке.
- Цикл
- Выводится на экран номер строки с максимальным количеством нулей.