fortran数组顺序问题
初学fortran,做了个数组相乘的算法programdiagonaleintegera(2,2),b(2,2),c(2,2)print*,'输入矩阵a'read*,ap...
初学fortran,做了个数组相乘的算法
program diagonale
integer a(2,2),b(2,2),c(2,2)
print*,'输入矩阵a'
read*,a
print*,'输入矩阵b'
read*,b
c=0
do i=1,2
do k=1,2
do j=1,2
c(i,k)=c(i,k)+a(i,j)*b(j,k)
enddo
enddo
enddo
print*,c
end
发现这样算出来是错的,然后尝试发现比如一个3x3的数组123456789
按理说a(2,3)应该是6的,但是用fortran输出居然是8,i,j的含义颠倒了,查了书,自己没记错啊。求指教 展开
program diagonale
integer a(2,2),b(2,2),c(2,2)
print*,'输入矩阵a'
read*,a
print*,'输入矩阵b'
read*,b
c=0
do i=1,2
do k=1,2
do j=1,2
c(i,k)=c(i,k)+a(i,j)*b(j,k)
enddo
enddo
enddo
print*,c
end
发现这样算出来是错的,然后尝试发现比如一个3x3的数组123456789
按理说a(2,3)应该是6的,但是用fortran输出居然是8,i,j的含义颠倒了,查了书,自己没记错啊。求指教 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询