Найти строку матрицы с максимальной суммой модулей элементов - C (СИ)
Формулировка задачи:
Помогите плиз, матрицу ввел а как искать все это не знаю " Среди тех строк целочисленной матрицы которые содержат только нечетные элементы. Найти строку с максимальной суммой модулей элементов."
Решение задачи: «Найти строку матрицы с максимальной суммой модулей элементов»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #define ROW 5 #define COLUMN 5 #define TRUE 1 #define FALSE 0 int main (int argc, char **argv) { int i, j; int is_odd; int summ, max, tmp; int row_numbr; max = 0; /* Определение марицы 5x5 */ int matrix[ROW][COLUMN] = { {1, 3, 5, 7, 9}, {6, 7, 8, 9, 10}, {11, 13, -15, 17, 19}, {20, 21, 22, 23, 24}, {25, 26, 27, 28, 29} }; for (i = 0; i < ROW; ++i) { is_odd = TRUE; summ = 0; for (j = 0; j < COLUMN; ++j) { /* Взять модуль числа. */ if (matrix[i][j] < 0) { tmp = matrix[i][j] * -1; } else { tmp = matrix[i][j]; } summ += tmp; /* * Сбрасывает флаг is_odd, * если хотя бы один элемент строки четный. */ if ( !(matrix[i][j] % 2) ) { is_odd = FALSE; summ = 0; } } /* * Сохранение максимальной суммы * и номера строки с максимальной суммой. */ if (summ > max) { max = summ; row_numbr = i; } } for (i = 0; i < COLUMN; ++i) { printf("%d ", matrix[row_numbr][i]); } printf("\nRow number: %d\n", row_numbr); return EXIT_SUCCESS; }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы
- Определяем размеры матрицы (ROW и COLUMN)
- Определяем значения TRUE и FALSE
- Создаем переменные i, j, is_odd, summ, max, tmp и row_numbr
- Инициализируем max значением 0
- Определяем матрицу 5x5
- Проходим по всем строкам матрицы (от 0 до ROW-1)
- Внутри цикла перебираем все элементы строки (от 0 до COLUMN-1)
- Берем модуль числа, если число отрицательное, умножаем его на -1
- Добавляем полученное число к сумме (summ)
- Если число четное, то сбрасываем флаг is_odd в FALSE и обнуляем summ
- После завершения внутреннего цикла, проверяем значение summ. Если оно больше max, то обновляем max и row_numbr
- Выводим на экран значения элементов строки с номером row_numbr
- Выводим номер строки с максимальной суммой
- Возвращаем EXIT_SUCCESS
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д