24小时热门版块排行榜    

查看: 1313  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 建议基金发布提前给出明确的时间点 +3 kulium 2026-08-21 4/200 2026-08-21 17:02 by gltch
[基金申请] 看来今天不会放榜了? +8 chengyan1220 2026-08-21 9/450 2026-08-21 15:38 by dcqxinyang
[基金申请] 让我中一个面上吧! +11 大萍1987 2026-08-20 13/650 2026-08-21 14:48 by 20120902066
[基金申请] 我面上完蛋了 +7 且听虎啸 2026-08-20 8/400 2026-08-21 12:31 by 酷酷墨镜
[基金申请] 只有每年这种时候来逛逛小木虫 +23 yaoyewhu2008 2026-08-20 25/1250 2026-08-21 12:19 by Poppy1104
[基金申请] 今天基金会出结果吗?20260819 +15 kkkl_v 2026-08-19 16/800 2026-08-21 11:22 by 365372687
[基金申请] 科研孤儿太难了 +15 我4大白菜 2026-08-20 16/800 2026-08-21 11:07 by yming1319
[基金申请] 应该是下周三26日公布了吧? +4 哈哈蛤? 2026-08-21 4/200 2026-08-21 10:58 by Vivilian
[论文投稿] 投稿咨询 +5 wwm09 2026-08-17 7/350 2026-08-21 10:11 by 期刊论文帮手
[基金申请] 今天放榜没戏了吧 +9 yuleib84 2026-08-19 11/550 2026-08-21 10:06 by gltch
[基金申请] 基金啊基金 +4 longfie172 2026-08-20 4/200 2026-08-21 08:58 by mark mao
[基金申请] 今天系统多次维护,明天很可能放榜! +10 zju2000 2026-08-16 11/550 2026-08-20 20:02 by cl479861084
[基金申请] 重要消息,中午系统在维护 +11 yuleib84 2026-08-18 12/600 2026-08-20 11:09 by xskun
[教师之家] 为什么余额宝的年化利率越来越低?主要原因有哪些? +5 瞬息宇宙 2026-08-15 5/250 2026-08-19 20:23 by super2002521
[基金申请] 今天放榜吗? +14 布布和一二 2026-08-19 15/750 2026-08-19 18:07 by gltch
[基金申请] 朋友圈看到的 +6 wangzilk 2026-08-18 8/400 2026-08-19 10:55 by Haru815
[基金申请] 快农历七夕节了,轻松一下,男人悄悄话,女施主请不要进来。 +6 Tide man 2026-08-14 7/350 2026-08-19 09:56 by ZJTJZ
[基金申请] 明天放榜? +5 Shxjjxjkx 2026-08-18 5/250 2026-08-18 18:14 by -大大大大大-
[基金申请] 今天维护系统维护 祝所有人 高中 +8 gjjjzhong 2026-08-18 9/450 2026-08-18 13:01 by 家与远方
[精细化工] 招聘 金属平磨液,抛光液研发工程师 +3 小天0311 2026-08-14 3/150 2026-08-16 07:31 by H9PLUS
信息提示
请填处理意见