回 帖 发 新 帖 刷新版面

主题:求大家个事 谁能帮我解释一下这个程序啊

大家好,能不能帮我看下这个程序啊,do循环里 read函数那一行 我不太明白 求好心人解释一下啊
program main
    integer,parameter::N=11
    integer,parameter::M=4
    integer,parameter::G=3
    integer,dimension(G)::NG
    integer,dimension(N)::KG
    real(3),dimension(N,M)::X
    open(10,FILE='PB.DAT')
    do I=1,N
      read(10,*)I0,(X(I,J),J=1,M),KG(I)
    end do
    close(10)
    open(12,FILE='PBFX.DAT')
    call pbfx(X,N,M,NG,KG)
    close(12)
end main

回复列表 (共4个回复)

沙发

read(10,*)I0,(X(I,J),J=1,M),KG(I)

相当于

read(10,*) I0 , X(I,1) , X(I,2) , X(I,3) , ...此处略去好多字... , X(I,M) , KG(I)

板凳


……(X(I,J),J=1,M)……这是个循环我知道

我想知道整个这个read语句 读的是什么格式的数据呢 ,就是PB.DAT文件里数据的组织
格式,一行里放多少个整数,这些整数都是对应于I0,X二维数组还是一维数组KG

3 楼


我现在手头没有PB.DAT这个数据文件,您看我这么组织这个文件对吗?
1 20 20 36 31 1
2 22 26 37 36 2
3 23 17 39 42 3 
4 25 22 41 35 4
5 25 28 42 36 4
……
我的想法是,将第一列读进I0里,话说这个I0到底是什么啊?

然后是(X(I,J),J=1,M)这个循环,将2、3、4、5列的数字读进二维数组X(I,J)里,然后是将最后一列读进KG(I)里,我这么理解对吗?

4 楼

你这样理解是对的。

IO 是什么我也不知道,没有定义。根据这两个字母看不出来是什么。而且后面也没有使用,估计是跳过了第一行,读进来不用。

我来回复

您尚未登录,请登录后再回复。点此登录或注册