var m: array[1..N, 1..N] of integer; i, j: integer; rec: record mmax: integer = -(maxint); ind: record i: integer; j: integer; end; end;
begin for i := 1 to N do for j := 1 to N do begin read(m[i, j]); if abs(m[i, j]) > rec.mmax then begin rec.mmax := abs(m[i, j]); rec.ind.i := i; rec.ind.j := j; end; end; writeln('Максимальный по модулю элемент матрицы ', rec.mmax, '(', rec.ind.i, ';', rec.ind.j, ')'); end.
Пример: Входные данные: 1 2 3 4 5 -9 7 8 6 Выходные данные: Максимальный по модулю элемент матрицы 9(2;3)
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int n(0),m(0);
cin >> n >> m;
int matrix[n][m];
char arr[n][m];
arr[0][0] = '0';
for(int i = 0;i<n;++i){
for(int j = 0;j<m;++j){
cin >> matrix[i][j];
if(!i && !j)continue;
if(!i){
matrix[i][j] += matrix[i][j-1];
arr[i][j] = 'R';
}
if(!j){
matrix[i][j] += matrix[i-1][j];
arr[i][j] = 'D';
}
if(i && j){
matrix[i][j] += max(matrix[i-1][j],matrix[i][j-1]);
if(max(matrix[i-1][j],matrix[i][j-1]) == matrix[i-1][j])arr[i][j] = 'D';
else arr[i][j] = 'R';
}
}
}
cout << matrix[n-1][m-1];
cout << "\n";
string s;
for(int i = n-1;;){
for(int j = m-1;;){
if(arr[i][j] == '0'){
reverse(s.begin(),s.end());
s.erase(0,1);
cout << s << endl;
return 0;
}
s.push_back(arr[i][j]);
s.push_back(' ');
if(arr[i][j] == 'R'){
j -= 1;
continue;
}
if(arr[i][j] == 'D'){
i -= 1;
continue;
}
}
}
cout << endl;
return 0;
}
Объяснение:
const
N = 5;//Размерность массива
var
m: array[1..N] of integer;
begin
var pr := 1;
for var i := 1 to N do
begin
read(m[i]);
if m[i] <> 0 then pr := pr * m[i];
end;
writeln(pr);
end.
Пример:
Входные данные:
1 2 3 0 5
Выходные данные:
30
2)
const
N = 3;//Размерность матрицы
var
m: array[1..N, 1..N] of integer;
i, j: integer;
rec: record
mmax: integer = -(maxint);
ind: record
i: integer;
j: integer;
end;
end;
begin
for i := 1 to N do
for j := 1 to N do
begin
read(m[i, j]);
if abs(m[i, j]) > rec.mmax then begin
rec.mmax := abs(m[i, j]);
rec.ind.i := i;
rec.ind.j := j;
end;
end;
writeln('Максимальный по модулю элемент матрицы ', rec.mmax, '(', rec.ind.i, ';', rec.ind.j, ')');
end.
Пример:
Входные данные:
1 2 3
4 5 -9
7 8 6
Выходные данные:
Максимальный по модулю элемент матрицы 9(2;3)