Помогите пожалуйста решить задачу на Паскале.
Если целочисленная квадратная матрица симметрична относительно главной диагонали, обнулить все элементы,лежащие выше главной диагонали.и определить сумму элементов, лежащих ниже главной диагонали
Вот на фортране:
!simmetrichna li matriza
logical function PP1(A,n)
dimension A(n,n)
integer I,J,A
logical fl
fl=.true.
I=1
do while (I<=n-1.and.fl)
J=I+1
do while (J<=n.and.fl)
if (A(I,J)/=A(J,I)) then
fl=.false.
end if
J=J+1
end do
I=I+1
end do
PP1=fl
write (,) fl
end
!obnylit vse elementi vishe glavnoi diagonali
subroutine PP2(A,n)
dimension A(n,n)
integer I,J,A
do I=1,n-1
do J=I+1,n
A(I,J)=0
end do
end do
end
!naiti symmy elementov nizhe glavnoi diagonali
subroutine PP3(A,n,s)
dimension A(n,n)
integer I,J,A,s
s=0
do J=1,n-1
do I=J+1,n
s=s+A(I,J)
end do
end do
end
dimension A(5,5)
integer I,J,A,s
logical fl,PP1
data A/1,2,3,1,3,2,3,4,9,4,3,4,5,8,5,1,9,8,7,6,3,4,5,6,1/
write (,) 'ishod matriza'
write (*,36) ((A(I,J),J=1,5),I=1,5)
36 format (5(1x,I3))
fl= PP1(A,5)
write (,) fl
if (fl) then
write (,) 'matriza simmetrichna'
call PP2(A,5)
write (*,26) ((A(I,J),J=1,5),I=1,5)
26 format (1x,'izmen matriza'/5(1x,I3))
call PP3 (A,5,s)
write (*,16) s
16 format (1x,'s=',I4)
else
write (,) 'matriza ne simmetrichna'
end if
end