Для каждой строки матрицы найти номер первого по порядку четного числа и получить одномерный массив этих номеров - C (СИ)
Формулировка задачи:
для каждой строки матрицы найти номер первого по порядку четного числа и получить одномерный массив этих номеров. количество элементов одномерного массива соответствует количеству строк матрицы. помогите плизки
Решение задачи: «Для каждой строки матрицы найти номер первого по порядку четного числа и получить одномерный массив этих номеров»
textual
Листинг программы
#include <stdio.h> //подключение стандартной библиотеки
#define MS 5 // строковая константа - во всех местах программы MS будет заменяться на 5
int main()
{
int matrix[MS][MS] = {{1, 3, 4, 5, 6}, // объявление и инициализация двумерного массива (матрицы)
{1, 2, 4, 7, 6},
{9, 3, 7, 8, 7},
{2, 3, 4, 4, 10},
{1, 120, 4, 8, 6}};
int num[MS] = {0, 0, 0, 0, 0}; // объявление и инициализация массива для четных чисел
int i, j; // переменные-счетчики
for (i = 0; i < MS; ++i) { // внешний цикл обеспечивает проход по строкам (i - номер строки)
for (j = 0; j < MS; ++j) { //внутренний цикл, j - столбец
if (matrix[i][j] % 2 == 0) { // если элемент матрицы в строке i и столбце j даёт остаток 0 от деления на 2
num[i] = matrix[i][j]; // записать это число в i элемент массива для четных чисел
break; // выйти из внутреннего цикла, чтобы прекратить поиск в данной строке
}
}
}
return 0; // программа возвращает код в вызвавшую её среду
}
Объяснение кода листинга программы
В этом коде объявлена двумерная матрица и одномерный массив для хранения четных чисел. Затем определены две переменные-счетчика для прохода по матрице. Внешний цикл обеспечивает проход по строкам матрицы, а внутренний цикл — по столбцам. Для каждого элемента матрицы проверяется, является ли он четным числом (остаток от деления на 2 равен 0). Если это так, то число записывается в соответствующий элемент массива для четных чисел и внутренний цикл прерывается. После завершения внешних циклов программа возвращает 0, что означает успешное выполнение.