| 查看: 490 | 回复: 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 ] |
» 猜你喜欢
280求调剂
已经有13人回复
338求调剂,一志愿能源动力,外语是日语203
已经有3人回复
085600 295分求调剂
已经有20人回复
化学070300-总分378-求调剂
已经有5人回复
085600专硕材料与化工348分求调剂
已经有9人回复
312 化工或制药调剂
已经有8人回复
材料科学与工程考研
已经有5人回复
一志愿安徽大学0817化学工程与技术,求调剂
已经有7人回复
一志愿北京科技大学材料工程085601,求调剂
已经有9人回复
专硕 351 086100 也是考的材科基 本科也是材料
已经有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














回复此楼