爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 5072|回复: 16

[求助] 求教数据读入成一个数组变量问题

[复制链接]

新浪微博达人勋

发表于 2014-6-24 09:07:32 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
现有一个文件,数据行数不确定,列数是2列。

想把这个文件中的数据读入一个二维数组中,需要建一个动态数组,然后该怎么办呢?

能不能附上个例子阿?在网上没有查到呢

多谢~~~

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-6-24 09:11:10 | 显示全部楼层
数组定义设一个最大行数,再读取时弄个实际读取行数
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-6-24 09:18:41 | 显示全部楼层
咖啡伴侣 发表于 2014-6-24 09:11
数组定义设一个最大行数,再读取时弄个实际读取行数

可是不是要循环读入吗?怎么确定实际行数
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 0
发表于 2014-6-24 09:30:08 | 显示全部楼层
可以操作的,这个问题在论坛也讨论过多次,比如:
http://bbs.06climate.com/forum.php?mod=viewthread&tid=15217
参见楼下回复
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-6-24 09:36:50 | 显示全部楼层
言深深 发表于 2014-6-24 09:30
可以操作的,这个问题在论坛也讨论过多次,比如:
http://bbs.06climate.com/forum.php?mod=viewthread&ti ...

感谢阿,我看看
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-6-24 10:18:46 | 显示全部楼层
你看了深深发的链接之后应该会读入行数 然后定义一个可变大小的数组allocatable和allocate就行了 你想把两列的数据定义到一个数组里面 就定义一个module typedef
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-6-24 10:36:40 | 显示全部楼层
Mid_Farmer 发表于 2014-6-24 10:18
你看了深深发的链接之后应该会读入行数 然后定义一个可变大小的数组allocatable和allocate就行了 你想把两 ...

谢谢了,求出了行数,不过深深的帖子有给地方没看懂,就是 100 continue是起到什么作用?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-6-24 11:38:09 | 显示全部楼层
快乐枫 发表于 2014-6-24 10:36
谢谢了,求出了行数,不过深深的帖子有给地方没看懂,就是 100 continue是起到什么作用?

没很大作用吧 精简点的求行数程序是这样的:
integer::n=0   
do while(.not. eof(10))
      read(10,*)
      n=n+1
end do
write(*,*) n

评分

参与人数 1金钱 +10 贡献 +2 收起 理由
言深深 + 10 + 2

查看全部评分

密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 0
发表于 2014-6-24 11:51:02 | 显示全部楼层
快乐枫 发表于 2014-6-24 10:36
谢谢了,求出了行数,不过深深的帖子有给地方没看懂,就是 100 continue是起到什么作用?

那是执行循环用的···
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-6-24 13:40:23 | 显示全部楼层
这个很简单,你不用设定什么动态数组,do i=1,10000
                                                          do j=1,2
                                                                  read(2) stt(i,j)
                                                                          end do
                                                                  print*, i
                                                          end do
最后读取数据肯定提示有错误,但你可以知道有几行了,看完设置就成。
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表