드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
게시물ID : programmer_8941짧은주소 복사하기
작성자 : 밝은달사랑★
추천 : 0
조회수 : 434회
댓글수 : 3개
등록시간 : 2015/03/27 17:22:01
이번에 포트란77을 배우고 있는데 어째 제가 생각한 것과 출력이 다른데
제가 뭘 잘못생각하고 있는 건지 알려주세요.(공부에 도움이 되는 정도만요 답을 알려주지 마시구요.)
제가 하려는건 두행렬을 곱한 행렬을 구하는건데요.
중간에 if 조건으로 A의 행 크기와 B의 열 크기 같지 않으면 못 곱해가 출력되고 같으면 곱셈으로 진행되는건데
왜 때문인지 두 행렬의 크기를 2x2로 집어 넣었는데 못곱한다고 끝납니다.
program arr1
integer ia, ja, ib, jb, n, m
real a(10, 10), b(10,10), C(10,10) ,adat, bdat
n=0
m=0
open(100,file='output.dat')
write(*,*) 'Array i and j maximum is 10'
write(*,*) 'Array A is i size, ia ='
read (*,*) ia
write(*,*) 'Array A is j size, ja ='
read (*,*) ia
write(*,*) 'Array B is i size, ib ='
read (*,*) ib
write(*,*) 'Array B is j size, jb ='
read (*,*) ib
if(ia.EQ.jb) then
do 10 n = 1,ja,1
do 20 m = i,ia,1
write(*,*) 'Array A(i,j) adat'
read(*,*) adat
a(n,m) = adat
20 continue
10 continue
n=0
m=0
do 30 n = 1,jb,1
do 40 m = i,ib,1
write(*,*) 'Array B(i,j) bdat'
read(*,*) bdat
a(n,m) = bdat
40 continue
30 continue
n=0
m=0
n1=0
m2=0
do 50 n = 1,ja,1
do 60 m = 1,ia,1
do 70 m1 = 1,ib,1
do 80 n1 = 1,jb,1
c(n,m)=a(n,m)*b(n1,m1)
80 continue
70 continue
60 continue
50 continue
write(100,*) 'Array C is =', c
else
write(*,*) 'Array A and B is not multiply'
endif
stop
end
댓글 분란 또는 분쟁 때문에
전체 댓글이 블라인드 처리되었습니다.
새로운 댓글이 없습니다.