Если максимальный элемент квадратной матрицы находится выше главной диагонали...
Помогите пожалуйста решить задачу
Если максимальный элемент квадратной матрицы находится выше главной диагонали, транспонировать матрицу, иначе определить сумму элементов строки и столбца с номерами, равными индексам максимального элемента. Нужно перевести эту программу из Фортрана в Паскаль: !esli max vishe gl diagonali subroutine pp1(A,n,p,MAX,imax,jmax) dimension A(n,n) real A,MAX integer i,j,p,imax,jmax p=0 max=A(1,1) imax=1 jmax=1 do i=1,n,1 do j=1,n,1 if (A(i,j)>MAX) then MAX=A(i,j) imax=i jmax=j if (jmax>imax) then p=1 end if end if end do end do end !Transponirovat matrix subroutine pp2(A,n) dimension A(n,n) real A integer i,j do i=2,n do j=1,i-1 C=A(i,j) A(i,j)=A(j,i) A(j,i)=C end do end do end !symma elementov str i stlb s index MAX subroutine pp3(A,n,imax,jmax,S) dimension A(n,n) real A,S integer i,j,imax,jmax do j=1,n,1 s1=s1+A(imax,j) end do do i=1,n,1 s2=s2+A(i,jmax) end do s=s1+s2 end !glav modul real A,MAX,S integer i,j,p DATA A/9,1,1,2,3,4,6,7,8,4,5,1,1,1,1,1,1,1,1,1,1,1,2,1,1/ write(*,*)'isxodnaya matriza' write(*,36)((A(i,j),j=1,5),i=1,5) 36 format (5(1x,F5.1)) call pp1(A,5,p,MAX,imax,jmax) write(*,*)'MAX element=',MAX write(*,46)imax,jmax 46 format (1x,'Index MAX elementa=',1x,'nomer stroki',1x,I2,1x,'nomer stolbca',1x,I2) if (p==1) then call pp2(A,5) write(*,16)((A(i,j),j=1,5),i=1,5) 16 format (3x,'Transponirovannaya matrix'/(5(1x,F5.1))) else call pp3(A,5,imax,jmax,S) write(*,26)S 26 format (3x,'Symma elementov s index MAX elementa',1x,(1x,F5.1)) end if end |
Цитата:
|
Не обязательно. Можно случайным
|
Цитата:
Код:
Const |
Спасибо большое
|
Часовой пояс GMT +4, время: 03:32. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.