24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 1095  |  回复: 6

vuchiyuan

木虫 (小有名气)

[求助] 求助:简单判断代码(Fortran语言) 已有1人参与

有如图1的文件,详见附件1(1.txt),文件中包含若干段(两千段左右)数据,每一段有个编号,如图1中圈出来的数字,数据每行两个实数,结束时有个“END”。
要求经过Fortran编程处理得到结果文件,如图2所示。结果文件第一行统计总共有多少段数据,如图2中的“102”;后面为每段数据的排列,包含3列数据,前两列与处理前数据相同,第三列为固定值“0”;在每段数据开始前一行为“x 0”(其中x表示该段数据的行数,0为固定值),如图2中框出的数据。
请应助的朋友给出Fortran代码。求助:简单判断代码(Fortran语言)
1.png


求助:简单判断代码(Fortran语言)-1
2.jpg
回复此楼

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : 1.txt
  • 2015-11-28 18:48:08, 2.19 M

» 猜你喜欢

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

wxws.2008

木虫 (正式写手)

2楼2015-11-28 22:49:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wxws.2008

木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ...
感谢参与,应助指数 +1
vuchiyuan: 金币+100, ★★★★★最佳答案, 在您提供的基础上自己改了一下,已很好解决,谢谢! 2015-11-29 13:46:49
! 计算之前,先把原始数据在excel表中,把空格都填充了,本人将空格填充为999999
! 先读一遍程序,找到开头是多少个END,就是几段,并找到对应的行数
! 然后可以根据每个END对应的行数计算得到每段的个数,以及输出对应每段的数字
! 最后根据需要,将999999变为空格
        program main
        implicit none
        integer,parameter::n=99036
        integer i,j,k,s,no,nodata,p
        integer,allocatable::num(,nums(
        real a(2)
        character(len=100) string
       
        open(21,file="I:\王琦ph值\test111.txt"
        open(22,file="I:\王琦ph值\test111_result.txt"
       
        nodata=999999
       
        ! **** 寻找END的个数及位置*********
        p=0
        do i=1,n
                read(21,*) string
                if(string=="END" p=p+1
        end do
        rewind(21)
       
        allocate(num(p))
        allocate(nums(p))
       
        j=0
        do i=1,n
                read(21,*) string
                if(string=="END" then
                        j=j+1
                        num(j)=i
                end if
        end do
        rewind(21)
       
       
        ! **** 计算每段的个数*********
        nums(1)=num(1)-2
        do i=2,p
                nums(i)=num(i)-num(i-1)-2
        end do
       
       
        write(22,"(3(1xi6))" p,(nodata,i=1,2)
       
        ! **** 写入每段的个数以及每行数字*********
     s=1
        do i=1,p
                write(22,"(3(1xi6))" nums(i),0,nodata
                read(21,*)
                  do j=s+1,num(i)-1
                          read(21,*,end=200) no, a(
                          write(22,"(2(1xf15.6),1xi6)" a(,0
                  end do
                  read(21,*)
                  s=num(i)+1
        end do
200        close(21)
       
        deallocate(num)
        deallocate(nums)
        end program
3楼2015-11-29 00:27:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wxws.2008

木虫 (正式写手)

引用回帖:
3楼: Originally posted by wxws.2008 at 2015-11-29 00:27:13
! 计算之前,先把原始数据在excel表中,把空格都填充了,本人将空格填充为999999
! 先读一遍程序,找到开头是多少个END,就是几段,并找到对应的行数
! 然后可以根据每个END对应的行数计算得到每段的个数,以及输 ...

一个冒号紧跟一个后括号,系统自动变成表情了~
4楼2015-11-29 00:29:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

vuchiyuan

木虫 (小有名气)

引用回帖:
3楼: Originally posted by wxws.2008 at 2015-11-29 00:27:13
! 计算之前,先把原始数据在excel表中,把空格都填充了,本人将空格填充为999999
! 先读一遍程序,找到开头是多少个END,就是几段,并找到对应的行数
! 然后可以根据每个END对应的行数计算得到每段的个数,以及输 ...

麻烦直接上传f文件,另外,有的文档太长用excel打不开。先谢了!
5楼2015-11-29 12:01:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bennett_14

木虫 (正式写手)

引用回帖:
4楼: Originally posted by wxws.2008 at 2015-11-29 00:29:13
一个冒号紧跟一个后括号,系统自动变成表情了~...

层主的这样解决方案,是要把1.txt先放在excel中填充吗????
君子当自强不息,死而后已!
6楼2016-01-03 11:42:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wxws.2008

木虫 (正式写手)

少了可以,多了就直接读就行,不必excel

发自小木虫Android客户端
7楼2016-01-03 16:12:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 vuchiyuan 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 一志愿同济大学323分(080500)求调剂 +6 yikeniu 2026-04-01 6/300 2026-04-02 14:19 by smileboy2006
[考研] 266分,一志愿电气工程,本科材料,求材料专业调剂 +4 哇呼哼呼哼 2026-04-02 4/200 2026-04-02 13:10 by yulian1987
[考研] 319求调剂 +13 太容易1018 2026-04-01 13/650 2026-04-02 11:39 by Sammy2
[考研] 261求B区调剂 +5 明仔· 2026-04-01 7/350 2026-04-02 11:17 by 邹尉尉
[考研] 292求调剂 +14 是妍子也是研子 2026-03-30 14/700 2026-04-02 10:17 by sanrepian
[考研] 一志愿211,335分,0856,求调剂院校和导师 +14 倾____萧 2026-03-27 15/750 2026-04-02 09:21 by olim
[考研] 339求调剂,想调回江苏 +7 烤麦芽 2026-03-27 10/500 2026-04-01 21:35 by 495374996
[考研] 材料与化工(0856)304求B区调剂 +8 邱gl 2026-03-30 16/800 2026-04-01 17:58 by 邱gl
[考研] 309求调剂 +19 谁不是少年 2026-03-29 19/950 2026-04-01 15:47 by jp9609
[考研] 一志愿 南京航空航天大学 ,080500材料科学与工程学硕 +7 @taotao 2026-03-30 7/350 2026-04-01 14:30 by chenqifeng666
[考研] 材料0856 英一数二 323 求调剂 +9 袁sy 2026-04-01 9/450 2026-04-01 14:30 by wangjy2002
[考研] 材料调剂 +11 一样YWY 2026-03-31 11/550 2026-04-01 11:35 by wangjy2002
[考研] 070300求调剂306分 +5 26要上岸 2026-03-27 5/250 2026-04-01 11:09 by oooqiao
[考研] 070300化学专业279调剂 +10 哈哈哈^_^ 2026-03-31 10/500 2026-03-31 23:13 by liu823948201
[考研] 353求调剂 +3 江上枫_26 2026-03-28 3/150 2026-03-31 15:53 by jp9609
[考研] 一志愿哈尔滨工业大学材料与化工方向336分 +13 辰沐5211314 2026-03-26 13/650 2026-03-31 14:37 by 记事本2026
[考研] 266分,求材料相关专业调剂 +10 哇呼哼呼哼 2026-03-30 12/600 2026-03-31 11:00 by 熊一刀
[考研] 南京大学化学调剂 +11 景随风 2026-03-29 16/800 2026-03-31 10:14 by herarysara
[考研] 0703化学321分求调剂 +10 三dd. 2026-03-30 11/550 2026-03-30 19:24 by markhwc
[考研] 调剂 +3 李嘉图·S·路 2026-03-27 3/150 2026-03-27 11:19 by wangjy2002
信息提示
请填处理意见