Найти номера строк двумерного массива, в которых нет четных элементов - C (СИ)
Формулировка задачи:
Дан двумерный массив целых чисел. Найти номера строк, в которых нет четных элементов.
Решение задачи: «Найти номера строк двумерного массива, в которых нет четных элементов»
textual
Листинг программы
#include <stdio.h>
#define M 5
#define N 5
int main()
{
int i,j;
int check,got=0;
int arr[M][N] =
{
{1,2,3,4,5,},
{2,3,4,5,6,},
{3,4,2,1,4,},
{1,3,5,7,9,},
{1,1,1,2,1 }
};
for(i=0;i<M;i++)
{
check = 0;
for(j=0;j<N;j++)
{
if(arr[i][j]%2==0)
check=1;
}
if(!check)
{
printf("row: %d\n",i+1);
got=1;
}
}
if(!got)
printf("didn't find anything...\n");
return 0;
}
Объяснение кода листинга программы
- Объявлены переменные:
- i, j - для циклов;
- check - для проверки наличия четных элементов в строке;
- got - для отслеживания наличия строк без четных элементов.
- Указаны значения массива arr[M][N].
- Происходит два вложенных цикла:
- Первый цикл перебирает строки массива arr[M][N].
- Второй цикл перебирает столбцы массива arr[M][N].
- Для каждого столбца вычисляется значение check:
- Если элемент массива arr[i][j] четный, то значение check становится ненулевым.
- После завершения второго цикла проверяется значение переменной check:
- Если check равно нулю, то это означает, что в текущей строке нет четных элементов.
- В этом случае выводится номер строки и значение переменной got становится ненулевым.
- После завершения первого цикла проверяется значение переменной got:
- Если got равно нулю, то выводится сообщение
didn't find anything.... - В противном случае выводится сообщение
row: [номер строки].
- Если got равно нулю, то выводится сообщение