akaGM
Platinum Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору phoenixLIFE Цитата: Привет. Помогите пожалуста с задачкой по фортрану. Вроди правильно написал и в тоже время кажется, что чего-то не так. Вот сама задача: Найдите среднее арифметическое элементов матрицы и сумму элементов тех строк матрицы, в которых отрицателен элемент главной диагонали. DIMENSION A(5,5) REAL SA INTEGER n,S,k WRITE(*,*)'vvedite n' READ(*,*)n WRITE(*,*)'vvedite matricu A' READ(*,*)((A(I,J),I=1,n),J=1,n) I=2 J=1 Do I=1,n IF (A(I,J).LT.0)then DO J=1,n IF (I.EQ.J)then S=S+A(I,J) k=k+1 END IF END DO END IF END DO SA=S/k WRITE(*,*)'S=',S WRITE(*,*)'SA=',SA PAUSE END заранее спасибо | так как моя корпоративная сеть в данн. момент жутко нестабильна, то выношу это личное письмо на всеобщее обозрение для помощи/улучшения... мой ответ: Код: !Найдите среднее арифметическое элементов матрицы и сумму элементов тех строк !матрицы, в которых отрицателен элемент главной диагонали. implicit none real*8 A(5,5) real*8 SA, s INTEGER*4 i,j,n,k data n/5/ ! data n/3/ ! data A(1,1) /1/ ! data A(1,2) /2/ ! data A(1,3) /3/ ! data A(2,1) /-1/ ! data A(2,2) /-2/ ! data A(2,3) /-3/ ! data A(3,1) /-5/ ! data A(3,2) /-10/ ! data A(3,3) /10/ c WRITE(*,*) 'vvedite n' c READ(*,*) n WRITE(*,*) 'vvedite matricu A' READ(*,*) ((A(I,J),I=1,n),J=1,n) ! A-mean s = 0. do i= 1, n do j= 1, n s = s + a(i,j) enddo enddo SA=S/n/n WRITE(*,*) 'средне-арифметическое элементов матрицы= ',SA ! all negative diagonal elements, sum and output s = 0. do i= 1, n do j= 1, n if ( (i .eq. j) .and. (a(i,j) .lt. 0.) ) then s = 0. do k = 1, n ! i -- строка s = s + a(i, k) enddo write(*,*) 'сумма элементов строки с отрицательным диаг. элементом= ', s endif enddo enddo pause end |
|