Определить значение и положение максимального элемента матрицы после ее преобразования - C (СИ)
Формулировка задачи:
Дали задание:
Каждый элемент строки прямоугольной матрицы представить как приращение по отношению к минимальному элементу этой же строки. Определить значение и положение максимального элемента матрицы после ее преобразования.
Как это сделать я без понятия( Буду благодарен за помощь.Решение задачи: «Определить значение и положение максимального элемента матрицы после ее преобразования»
textual
Листинг программы
#include <iostream.h>
#include <stdlib.h>
void main () {
const int n=4,m=5;
int a[n][m],i,j;
cout << "Исходная матрица";
for (i=0; i<n; i++) {
cout << endl;
for (j=0; j<m; j++) {
a[i][j]=random(100);
cout << a[i][j] << " ";
}
}
int min;
for (i=0; i<n; i++) {
min=a[i][0];
for (j=1; j<m; j++) if (a[i][j]<min) min=a[i][j];
for (j=0; j<m; j++) a[i][j]+=min;
}
int max=a[0][0],imax=0,jmax=0;
cout << endl << "Матрица с элементами, увеличенными на мин.элемент строки" << endl;
for (i=0; i<n; i++) {
cout << endl;
for (j=0; j<m; j++) {
cout << a[i][j] << " ";
if (a[i][j]>max) { max=a[i][j]; imax=i; jmax=j; }
}
}
cout << endl << "Max=" << max << " i=" << imax << " j=" << jmax;
}
Объяснение кода листинга программы
В этом коде определен размер матрицы (4 на 5), создана матрица случайных чисел, выведена исходная матрица.
- Затем происходит обход матрицы для нахождения минимального элемента в каждой строке.
- Далее, найденное минимальное значение добавляется к каждому элементу строки.
- После этого находится максимальное значение матрицы, и для нахождения позиции максимума используются дополнительные переменные.
- Выводится матрица с элементами, увеличенными на минимальный элемент строки.
- Наконец, выводятся максимальное значение, его позиция по строке и позиция по столбцу.