| 查看: 1373 | 回复: 13 | |||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | |||
[交流]
【求助】50金币求大家帮忙改一段程序
|
|||
|
有一组数据如下所示,第一列代表istep变化范围(1-5000),第二列ia(1-30000),第三列ib(1-800),现在我想用一个三维数组H(istep,ia,ib)来标记这些数据,同一行数字定义的H=1,其他的H均为0.也就是说当istep=1时,ia=781,ib=455时H=1。我的主要目的就是能够将istep,ia,ib用一个函数联系起来,因为在程序后面要用这个函数作为进一步的判断条件。我写了一个程序: program exam implicit none integer ia,ib,istep integer ::h(5000,30000,800) integer i h=0 open (10,file='test.out') do i=1,99999999 read(10,*,end=2,err=2) istep,ia,ib h(istep,ia,ib)=1 enddo 2 continue close(10) do ia=1,30000 do ib=1,800 do istep=1,5000 h(istep)=h(istep,ia,ib) enddo do ntel=1,nsteps if(h(ntel)/=0) then 进行后面的程序 ----------------- endif enddo enddo enddo end 但是现在的问题是,定义的三维数组h太大了,程序不能运行, 请大家帮忙看看应该怎么办?先谢了 数据: 1 758 22 1 820 245 1 2050 399 1 2587 232 1 15733 34 1 18193 65 1 20718 256 2 820 245 2 2050 399 2 2587 232 2 20251 125 3 758 22 3 820 245 3 1817 625 3 2050 399 3 16723 555 3 18193 65 3 20718 256 --- ---- ---- |
» 猜你喜欢
论文终于录用啦!满足毕业条件了
已经有13人回复
2025年遐想
已经有5人回复
投稿Elsevier的杂志(返修),总是在选择OA和subscription界面被踢皮球
已经有8人回复
求个博导看看
已经有18人回复
» 本主题相关价值贴推荐,对您同样有帮助:
【急】请大家帮忙看一下这个offer是否合乎要求,新手散光所有金币求助~~
已经有12人回复
帮忙修改一段我的翻译,好难翻啊555
已经有4人回复
也请高人指点,帮忙看看每位评委的意见是什么?(50金币,回帖1金币)
已经有84人回复
帮忙修改一段翻译!谢谢!
已经有3人回复
求高手帮忙改一下英文摘要
已经有12人回复
【求助】撒点金币请大家帮忙出主意,回国都带什么礼物啊
已经有20人回复
急求,30分钟内翻译一段文字(药学),30分钟内完成6金币再追加50金币
已经有1人回复
再求一段英译中,在线等,急,50金币
已经有5人回复
【求助】10金币请帮忙修改一下MATLAB程序
已经有9人回复
» 抢金币啦!回帖就可以得到:
科瑞赛生物内皮细胞培养基试用装限时大放送,助力你的实验高效进阶!
+1/92
内蒙古大学能源材料化学研究院招聘2026年博士生
+1/80
成都理工大学全国重点实验室公开诚聘绿色有机合成方向联培生及科研助理
+1/78
昆明理工大学冶能院离子液体冶金课题组招收博士
+1/60
急招碳材料相关特任研究人员/博士后/科研助理/26级博士和硕士
+1/44
新年快乐!祝各位诸事顺遂!
+1/41
华中科技大学龚江研究员课题组诚招博士研究生、科研助理和博士后
+3/33
北京林业大学木质素高值化利用创新团队招收2026年入学博士生
+1/31
衡水学院招收食品与营养方向联合培养研究生
+1/30
【AI、水文方向】香港科技大学(广州)研究助理招聘
+1/26
王志博教授课题组招收硕士研究生(本招收信息长期有效)
+2/20
2026年黄河科技学院纳米功能材料研究所招聘
+2/18
长江学者团队招聘药学/生物信息学等方向高校教师7名(地点杭州、有事业编)+博后5名
+1/12
南京工业大学招收2026年全日制学术博士(供热、供燃气通风与空调)
+1/11
代算!材料学理论计算
+1/6
海南大学化学院—功能分子器件团队博士后招聘
+1/4
河南省科学院平顶山产业研究院博士研究人员招聘
+1/3
英国博导招CSC博士生
+1/2
求博导收留
+1/1
福州大学梁宇航副教授招收2026年申核制博士研究生/硕士研究生(理论计算方向)
+1/1
4楼2011-03-28 23:54:35
|
以我的第一行数据 1 758 22 为例,1代表istep,758代表ia,22代表ib。 我想用函数将istep,ia,ib联系起来,只有当取我数据中一行上的数字时,定义的函数h=1,其他的h均为0.以第一行为例, istep=1,ia= 758,ib=22时,h=1.或者用多个函数也行,只要能完成后面循环中判断( if(h(ntel)/=0) then)就行。 do ia=1,30000 do ib=1,800 do istep=1,5000 h(istep)=h(istep,ia,ib) enddo do ntel=1,nsteps if(h(ntel)/=0) then 进行后面的程序 ----------------- endif enddo enddo enddo |
5楼2011-03-29 03:05:47
6楼2011-03-29 15:16:15
|
nstep可以写成5000, 对我的文件(new_total.out)的说明: 文件的格式为默认写入格式。 第一列代表ia,第二列ib,第三列istep(变化范围1-5000) 文件所在网址:http://good.gd/1078236.htm [ Last edited by astringent on 2011-3-30 at 05:47 ] |
7楼2011-03-30 05:44:34







回复此楼