24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1181  |  回复: 4

astringent

铜虫 (著名写手)

[交流] 【求助】如何提取TXT中某列的数据存入一个数组,再对数组做处理已有4人参与

我的数据存在aaa.txt文件中。对于上面的数据,第二列是步数(step),第三列是每步的可能取值。我想将这些数据读入,并保存在数组H(io,istep)中。io可以取从1到30000但是只有当io取文件中第二列对应的值时H(io,istep)=1,取其他值均为0.也就是说当step=1时,io取15733,18193,20251时H的值为1,取其他值都为0,当step=2时,io取15733,20251时H的值为1,取其他值都为0。我应该怎样实现呢,我想了好久还是没想出来。请大家帮我想想办法,先谢谢了。

1       15733
1       18193
1       20251
2       15733
2       20251
3       20824
4       15733
4       16159
4       18193
4       20251
4       20824
5       16159
5       18193
5       20251
5       20824
6       15733
6       20251
6       20824
7       15733
7       20251
7       20824
8       15733
8       16159
8       18193
8       20251
9       18193
9       20251
10        9490
10       16159
10       20251
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ajian04

禁虫 (正式写手)


小木虫(金币+0.5):给个红包,谢谢回帖交流
这个我以前学过一些,但都是好久以前的事情了,有点忘了,帮你顶一下,楼下的高手上吧~
2楼2010-12-02 07:19:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

piduil

铜虫 (初入文坛)

★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
余泽成(金币+3):谢谢参与应助! 2010-12-06 15:18:15
引用回帖:
Originally posted by astringent at 2010-12-02 05:03:49:
我的数据存在aaa.txt文件中。对于上面的数据,第二列是步数(step),第三列是每步的可能取值。我想将这些数据读入,并保存在数组H(io,istep)中。io可以取从1到30000但是只有当io取文件中第二列对应的值时H(i ...

program example
      implicit none
      integer,parameter :: max_step=10,max_data=10
      integer :: test(max_data,max_step)=0,H(30000)=0,counter(max_step)=0
      integer :: istep,idata
      open(unit=8,file="aaa.txt",status="old"
1     read(8,*,end=2) istep,idata
!      write(*,*) istep,idata
      H(idata)=1
      counter(istep)=counter(istep)+1
      test(counter(istep),istep)=idata
      goto 1
2     close(8)
      end program example

[ Last edited by piduil on 2010-12-2 at 09:41 ]
3楼2010-12-02 09:37:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

maomao1210

金虫 (正式写手)


小木虫(金币+0.5):给个红包,谢谢回帖交流
引用回帖:
Originally posted by piduil at 2010-12-02 09:37:27:


      program example
      implicit none
      integer,parameter :: max_step=10,max_data=10
      integer :: test(max_data,max_step)=0,H(30000)=0,counter(max_step)=0
      integer :: istep ...

程序写的不错,索引数组镶嵌的太多了,

我刚把你的程序引用了一下,参考FORTRAN答疑转帖。哈哈。
4楼2010-12-02 10:05:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

astringent

铜虫 (著名写手)

非常感谢两位的解答,我的问题已经解决了。多谢。
5楼2010-12-03 02:57:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 astringent 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见