Показать сообщение отдельно
Старый 15.04.2015, 23:18   #1 (permalink)
Over77over
Member
 
Регистрация: 13.03.2015
Сообщений: 16
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Если целочисленная квадратная матрица симметрична относительно главной диагонали...

Помогите пожалуйста решить задачу на Паскале.

Если целочисленная квадратная матрица симметрична относительно главной диагонали, обнулить все элементы,лежащие выше главной диагонали.и определить сумму элементов, лежащих ниже главной диагонали

Вот на фортране:

!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
Over77over вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070