fortran数组顺序问题初学fortran,做了个数组相乘的算法program diagonaleinteger a(2,2),b(2,2),c(2,2)print*,'输入矩阵a'read*,aprint*,'输入矩阵b'read*,bc=0do i=1,2do k=1,2do j=1,2c(i,k)=c(i,k)+a(i,j)*b(j,k)enddoenddoenddoprint*,ce

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/08 03:11:27

fortran数组顺序问题初学fortran,做了个数组相乘的算法program diagonaleinteger a(2,2),b(2,2),c(2,2)print*,'输入矩阵a'read*,aprint*,'输入矩阵b'read*,bc=0do i=1,2do k=1,2do j=1,2c(i,k)=c(i,k)+a(i,j)*b(j,k)enddoenddoenddoprint*,ce
fortran数组顺序问题
初学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的含义颠倒了,查了书,自己没记错啊.求指教

fortran数组顺序问题初学fortran,做了个数组相乘的算法program diagonaleinteger a(2,2),b(2,2),c(2,2)print*,'输入矩阵a'read*,aprint*,'输入矩阵b'read*,bc=0do i=1,2do k=1,2do j=1,2c(i,k)=c(i,k)+a(i,j)*b(j,k)enddoenddoenddoprint*,ce
Fortran 数组是列优先的.即先存储前面的维度.
一个3*3二维数组,在内存中是:
1 2 3 4 5 6 7 8 9
Fortran访问时,给他们命名为a(1,1),a(2,1),a(3,1)...a(1,2),a(2,2),a(3,2)...a(1,3),a(2,3),a(3,3)
因而,a(2,3)=8

fortran数组顺序问题初学fortran,做了个数组相乘的算法program diagonaleinteger a(2,2),b(2,2),c(2,2)print*,'输入矩阵a'read*,aprint*,'输入矩阵b'read*,bc=0do i=1,2do k=1,2do j=1,2c(i,k)=c(i,k)+a(i,j)*b(j,k)enddoenddoenddoprint*,ce Fortran矩阵输出问题 fortran fortran中小白问题FORMAT(9I5) fortran问题,求大神解答这是怎么回事 fortran 顺序文件的输入输出 write(2,100)中的100 Java数组问题 fortran log的表示问题 运行错误 意思是说 没有alog这个数组 fortran里不是自定义了这个函数?real::tw(0:n) 湿球温度估算值序列real::etireal::etw 饱和水汽压real,parameter::a=8.15*10**(-4)real::ej(0:n) 水汽压的 fortran交换二维数组列所用的中间变量怎么定义 fortran语言 DATA数组赋值问题 DIMENSION A(4,3) DATA A/3*-1.0,3*-2.0,3*-3.0,3*-4.0/请教A(1,1)A(1,2)A(1,3)这些数组的值赋给的是多少? Fortran里面的一些问题我有一个老程序,里面有几个部分是读数到一个数组中,以前的数组不是动态的,大致类似于这样的定义:DOUBLE PRECISION US_T1(NX,NY,NZ),US_T2(NX,NY,NZ)其中NX,NY,NZ都是提前定义好的P 初学 一维数组和二维数组的理解问题不能很好的理解一维数组,二维数组.书上的那介绍很是不懂!我自己理解的是:数组就是一柜子,里面很多小柜子分别按顺序放东西.不知道他们有什么区别,能用 fortran 某一行最小值有没有什么简单的表示方法可以表示fortran里面一个数组某一行的最小值 用牛顿切线法解决一个问题(fortran 语言) 初学高等数学极限遇到的问题 matlab中定义了pointx=zeros(NG,1)这样一个数组,如何将这条语句写成fortran语言中? fortran中read(n,*)(D0(I),I=1,其中D0是声明的一维数组.