Цитата:
Сообщение от Over77over
Помогите пожалуйста решить задачу на Паскале. Если целочисленная квадратная матрица симметрична относительно главной диагонали, обнулить все элементы,лежащие выше главной диагонали.и определить сумму элементов, лежащих ниже главной диагонали
|
Код:
Const
N=5;
Type
Matr=Array[1..N, 1..N] of Integer;
Var
A:Matr;
i,j,k,Sum:Integer;
Function Symm(Q:Matr):Boolean;
var
i,j:Integer;
bu:boolean;
begin
i:=0;
bu:=TRUE;
repeat
Inc(i);
j:=0;
repeat
Inc(j);
bu:=Q[i,j]=Q[j,i];
until bu=FALSE or (j=N);
until bu=FALSE or (i=N);
Symm:=bu;
end;
Begin
for i:=1 to N do
for j:=1 to N do
begin
write('A[',i,',',j,'] = ');
readln(A[i,j]);
end;
Writeln;
Writeln('Initial matrix:');
for i:=1 to N do
begin
for j:=1 to N do write(A[i,j]:4);
writeln;
end;
Writeln;
If Symm(A) then
begin
Sum:=0;
Writeln('New matrix:');
for i:=1 to N do
begin
for j:=1 to N do
begin
if j>i then A[i,j]:=0;
if j<i then Inc(Sum,A[i,j]);
write(A[i,j]:4);
end;
writeln;
end;
Writeln;
Writeln('Sum = ',Sum);
end
else
Writeln('Matrix is asymmetric');
Readln
End.