В каждой строке матрицы найти максимальный элемент - C (СИ)
Формулировка задачи:
Задан двумерный массив. В каждой его строке найти максимальный элемент.
Решение задачи: «В каждой строке матрицы найти максимальный элемент»
textual
Листинг программы
- #include <stdio.h>
- int main(void) {
- int arrX[3][3];
- int i, j;
- int n = 3;
- int m = 3;
- int currMax, maxj;
- arrX[0][0] = 1;
- arrX[0][1] = 2;
- arrX[0][2] = 3;
- arrX[1][0] = 1;
- arrX[1][1] = 2;
- arrX[1][2] = -3;
- arrX[2][0] = 10;
- arrX[2][1] = 10;
- arrX[2][2] = 2;
- for(i=0; i<n; i++)
- {
- currMax = -1000000;
- for(j=0; j<m; j++)
- {
- if(currMax < arrX[i][j])
- {
- currMax = arrX[i][j];
- maxj = j;
- }
- }
- printf("В строке %d максимум содержится на позиции %d и равен %d\r\n", i+1, maxj + 1, currMax);
- }
- return 0;
- }
Объяснение кода листинга программы
В данном коде на языке C выполняется следующая задача: в каждой строке матрицы необходимо найти максимальный элемент.
- Объявляются следующие переменные: — arrX[3][3] - матрица размером 3x3, содержащая элементы для поиска максимального значения; — i, j - индексы для обхода матрицы; — n = 3, m = 3 - размеры матрицы; — currMax - текущий максимум; — maxj - индекс текущего максимума; — return 0; - заканчивает работу программы.
- Заполняется матрица arrX значениями для примера.
- Внешний цикл for(i=0; i<n; i++) инициализирует переменную currMax значением -1000000 перед началом поиска максимального элемента в каждой строке.
- Внутренний цикл for(j=0; j<m; j++) сравнивает каждый элемент arrX[i][j] с текущим максимальным значением currMax. Если элемент больше, то он становится новым максимальным значением, а его индекс сохраняется в переменную maxj.
- После завершения внутреннего цикла, с помощью функции printf выводится сообщение вида
В строке 1 максимум содержится на позиции 2 и равен 3
для первой строки матрицы. - После завершения внешнего цикла, программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д