В каждой строке матрицы найти максимальный элемент - 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для первой строки матрицы. - После завершения внешнего цикла, программа завершается.