Заполнить двухмерный массив NxN Найти максимальный элемент, стоящий ** главной и побочной...

0 голосов
41 просмотров

Заполнить двухмерный массив NxN Найти максимальный элемент, стоящий на главной и побочной диагоналях. Поменять его местами с элементом стоящим на пересечении этих диагоналей.


Информатика (40 баллов) | 41 просмотров
Дан 1 ответ
0 голосов

Const n=5; // обязательно должно быть нечетным
var
  i,j,max,x,k:integer;
  a:array[1..n,1..n]of integer;
begin
writeln('Исходный массив:');
for i:=1 to n do
  begin
  for j:=1 to n do
    begin
    a[i,j]:=random(20);
    write(a[i,j]:4);
    end;
  writeln;
  end;
max:=a[1,1];
for i:=1 to n do
  begin
  if a[i,i]>max then max:=a[i,i];
  if a[i,n+1-i]>max then max:=a[i,n+1-i];
  end;
k:=n div 2+1;
x:=a[k,k];
for i:=1 to n do
  begin
  if a[i,i]=max
  then a[i,i]:=x;
  if a[n+1-i,i]=max then a[n+1-i,i]:=x;
  end;
a[k,k]:=max;
writeln('Измененный массив:');
for i:=1 to n do
  begin
  for j:=1 to n do
    write(a[i,j]:4);
  writeln
  end
end.