| 查看: 462 | 回复: 2 | ||
xk6891至尊木虫 (著名写手)
|
[求助]
fortran如何消去相同行,使其只显示其中一行
|
|
有下列这样的一组数,希望能将多余,相同内容的行删去(只用fortran,不玩shell),譬如(下面1,3,5行相同) C 7.273878 8.481164 4.787954 H 6.812623 8.515214 5.770640 C 7.273878 8.481164 4.787954 H 7.588283 9.573033 4.554239 C 7.273878 8.481164 4.787954 H 7.102666 8.004816 3.811218 看了网上的这种解法 [code] character aa(1000000)*256,bb*256 dimension idd(1000000) open(1,file='text.txt',status='old') icc=0 1 continue read(1,'(a)'.,end=2,err=1) bb*256 icc=icc+1 aa(icc)(1:256)=bb(1:256) 2 continue idd(1)=0 do 10 i=1,icc-1 do 20 j=i+1,icc idd(j)=0 if(aa(i)(1:256).eq.aa(j)(1:256)) idd(j)=1 20 continue 10 continue do 30 i=1,icc if(idd(i).eq.1) goto 30 write(*,'(A)') aa(i) 30 continue end [code] 鄙人愚钝,有几处表示不理解 aa(1000000)*256表示什么意思 aa(icc)(1:256)=bb(1:256) 不理解 最关键的是我认为if(aa(i)(1:256).eq.aa(j)(1:256)) idd(j)=1这句话,是否在比较的时候会产生歧义,因为嵌套循环如果只取一个标号(j)作比较标志的话,肯定重复了,而且do 30 i=1,icc,因为已经有消去的行了,如果在用icc的循环输出,那肯定多了 还请大侠们指点一下,给个详细些的思路或者解法,晚辈拜谢。 [ Last edited by xk6891 on 2011-6-16 at 21:33 ] |
» 猜你喜欢
存款400万可以在学校里躺平吗
已经有7人回复
基金委咋了?2026年的指南还没有出来?
已经有10人回复
拟解决的关键科学问题还要不要写
已经有6人回复
基金申报
已经有6人回复
推荐一本书
已经有13人回复
国自然申请面上模板最新2026版出了吗?
已经有17人回复
纳米粒子粒径的测量
已经有8人回复
疑惑?
已经有5人回复
计算机、0854电子信息(085401-058412)调剂
已经有5人回复
Materials Today Chemistry审稿周期
已经有5人回复

xk6891
至尊木虫 (著名写手)
- 应助: 0 (幼儿园)
- 金币: 13735.8
- 散金: 379
- 红花: 9
- 帖子: 1514
- 在线: 546小时
- 虫号: 890342
- 注册: 2009-11-01
- 专业: 理论和计算化学

2楼2011-06-16 21:45:24
sudo
木虫 (正式写手)
- 程序强帖: 16
- 应助: 6 (幼儿园)
- 金币: 1297.6
- 散金: 1486
- 红花: 20
- 帖子: 588
- 在线: 641小时
- 虫号: 1211394
- 注册: 2011-02-24
- 性别: GG
- 专业: 文艺美学
3楼2011-06-16 22:11:55











回复此楼