Program c4;
const
n=10;
var
a: array[1..n,1..n] of integer;
b: array[1..n*2-1] of integer;
i,j,max,m,k: integer;
begin
writeln('Исходная матрица:');
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=random(99)+1;
write(a[i,j]:4);
end;
writeln;
end;
writeln;
m:=0;
for k:=1-n to n-1 do
begin
inc(m);
max:=-32768;
for i:=1 to n do
begin
for j:=1 to n do
if (j-i=k)and(a[i,j]>max)then max:=a[i,j];
b[m]:=max;
end;
end;
writeln('Полученный массив максимумов диагоналей:');
for i:=1 to 2*n-1 do write(b[i],' ');
readln;
end.
МОЙ ВАРИАНТ
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "RUS");
const int q = 5;
int i, j, r, b[q*2-1], a[q][q];
{
//цикл по переменной i, в которой перебираем строки матрицы
for (i = 0; i < q; i++)
//цикл по переменной j, в котором перебираем элементы внутри строки
for (j = 0; j < q; j++)
a[i][j] = rand() % 50; //ввод очередного элемента матрицы
cout << "Матрица \n";
for (i = 0; i < q; i++)
{
for (j = 0; j < q; j++)
cout << a[i][j] << "\t";
cout << endl;
}
}
int y = 0;
for (r = 1 - q; r < q - 1; r++)
{
int max = 0;
y++;
for (int i = 1; i < r; ++i)
{
for (j = 1; j < r; j++)
if ((r = j - i) && (a[i][j] > max))
max = a[i][j];
b[r] = max;
}
}
Сборка персонального компьютера от Artline: умный выбор для современных пользователей