Листинг программы
program z15;
{ Дана матрица N*N.
1) заменить нулями элементы, расположенные на главной диагонали и выше (ниже) её;
2) найти сумму элементов, расположенных на побочной диагонали и выше (ниже) её;
3) найти максимальный из элементов, расположенных на побочной диагонали и выше (ниже) её;
4) найти произведение элементов, расположенных на побочной диагонали и выше (ниже) её. }
uses crt;
var a : array [1..50,1..50] of longint;
b : array [1..50,1..50] of longint;
i,j,n,l,max,sum : longint;
procedure prisvoi;
begin
for i:=1 to n do
for j:=1 to n do a[i,j]:=b[i,j];
end;
procedure print;
begin
textcolor(7);
for j:=1 to n do
begin
writeln;
for i:=1 to n do write(a[i,j],' ');
end;
writeln;
end;
begin
clrscr;textcolor(10);
write('Введите кол-во элементов таблицы N*N N=');readln(n);
for i:=1 to n do
for j:=1 to n do
begin
write('a[',i,',',j,']=');readln(a[i,j]);b[i,j]:=a[i,j];
end;
{1}
for i:=1 to n do
for j:=1 to i do a[i,j]:=0;
print;prisvoi;
for i:=1 to n do
for j:=i to n do a[i,j]:=0;
print;prisvoi;l:=0;sum:=0;
{2}
for i:=1 to n do
begin
for j:=n downto n-l do sum:=sum+a[i,j];
inc(l);
end;textcolor(11);
write('сумма элементов по побочной диагонали и ниже: ',sum);
writeln;l:=0;sum:=0;
for j:=1 to n do
begin
for i:=1 to n-l do sum:=sum+a[i,j];
inc(l);
end;
write('сумма элементов по побочной диагонали и выше: ',sum);
writeln('');max:=a[1,1];
{3}
for i:=1 to n do
for j:=1 to i do
if a[i,j]>max then max:=a[i,j];textcolor(9);
write('максимальный элемент по главной диагонали и выше: ',max);
writeln;max:=a[1,1];
for i:=1 to n do
for j:=i to n do
if a[i,j]>max then max:=a[i,j];
write('максимальный элемент по главной диагонали и ниже: ',max);
writeln;l:=0;sum:=1;
{4}
for i:=1 to n do
begin
for j:=n downto n-l do sum:=sum*a[i,j];
inc(l);
end;textcolor(4);
write('произведение элементов по побочной диагонали и ниже: ',sum);
writeln;l:=0;sum:=1;
for j:=1 to n do
begin
for i:=1 to n-l do sum:=sum*a[i,j];
inc(l);
end;
write('произведение элементов по побочной диагонали и выше: ',sum);
writeln;
readln;
end.