24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 1087  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 调剂推荐 +10 清酒714 2026-03-26 12/600 2026-04-02 07:57 by 尚水阁主
[考研] 一志愿厦门大学化学学硕307求调剂 +12 y7czhao 2026-03-26 12/600 2026-04-02 07:55 by 尚水阁主
[考研] 材料调剂 +12 一样YWY 2026-04-01 12/600 2026-04-02 00:21 by 百秒光年
[考研] 一志愿上海海洋大学083200食品学硕,求调剂,接受其他专业 +5 what张 2026-04-01 5/250 2026-04-01 22:35 by guanxin1001
[考研] 材料调剂 +11 一样YWY 2026-03-31 11/550 2026-04-01 22:25 by zhouyuwinner
[考研] 江苏科技大学招材料研究生 +4 Su032713. 2026-04-01 5/250 2026-04-01 22:03 by cccchenso
[考研] 273求调剂 +19 李芷新1 2026-03-31 19/950 2026-04-01 21:49 by chyhaha
[考研] 环境工程297分求调剂一志愿杭高院 +10 GENJIOW 2026-03-31 11/550 2026-04-01 21:38 by GENJIOW
[考研] 261求调剂 +3 明仔· 2026-04-01 3/150 2026-04-01 20:52 by cq2548
[考研] 一志愿厦门大学化学工程(专硕)-数二英二406分-求调剂 +4 厦大化工 2026-04-01 4/200 2026-04-01 17:54 by JYD2011
[考研] 求调剂,一志愿 南京航空航天大学 ,080500材料科学与工程学硕,总分289分 +10 @taotao 2026-03-29 10/500 2026-04-01 09:30 by oooqiao
[考研] 各位老师好,我的一志愿为北京科技大学085601材料专硕 +12 Koxui 2026-03-28 12/600 2026-03-31 23:17 by wwytracy
[考研] 一志愿西交大080500材料学硕349 +6 jqx1258 2026-03-31 7/350 2026-03-31 21:08 by yuq
[考研] 一志愿南师大0703化学 275求调剂 +5 Ripcord上岸 2026-03-27 5/250 2026-03-31 19:52 by mg1014
[考研] 材料工程085601数二英一335求调剂 +5 双马尾痞老板2 2026-03-31 5/250 2026-03-31 19:07 by Wang200018
[考研] 375求调剂 +7 雨夏整夜 2026-03-29 7/350 2026-03-31 18:52 by xhai2011
[考研] 266分,求材料冶金能源化工等调剂 +8 哇呼哼呼哼 2026-03-27 10/500 2026-03-31 13:35 by Huaxue_Wang
[考研] 287求调剂 +17 land xuxu 2026-03-26 17/850 2026-03-31 11:16 by Zzxxxs
[考研] 调剂 +4 GK72 2026-03-30 4/200 2026-03-30 20:32 by dick_runner
[考研] 085405 考的11408求各位老师带走 +3 Qiu学ing 2026-03-28 3/150 2026-03-28 09:19 by 乐呵呵的追梦人
信息提示
请填处理意见