爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 2739|回复: 2

[求助] fortran编程处理数据

[复制链接]

新浪微博达人勋

发表于 2016-4-29 15:22:38 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
现在有两个txt,都是存储的一列站点名,但是第一个文件夹有156个站点,第二个文件夹有150个站点,第二个文件夹里面的站点全部与第一个文件夹的站点重复,缺少第一个文件里面的6个站点号,怎么能通过编程知道这其中6个站点是哪几个喃,自己编了程序但是输出有错,求大神相助,。
program main
implicit none
integer ,parameter::state_num2=156,state_num=150      
integer state_name(state_num),state_name2(state_num)

integer i,j
open(30,file="F:\work\gongbao\2015\windave\0\statename2.txt")      
do i=1,state_num2
read(30,*) state_name2(i)
print*,state_name2(i)

end do
close(30)
open(40,file="F:\work\gongbao\2015\windave\0\statename.txt")
do j=1,state_num
read(40,*)state_name(j)
print*,state_name(j)
end do
close(40)
!*****************************************
open(60,file="F:\work\gongbao\2015\windave\0\name2.txt",status='replace')
  do j=1,state_num
    do i=1,state_num2
         
    if(state_name2(i)/=state_name(j))then  
      
    write(60,*)state_name2(i)      
           end if         
    end do   
enddo
close(50)
close(60)
end

statename.txt

1.03 KB, 下载次数: 0, 下载积分: 金钱 -5

statename2.txt

1.07 KB, 下载次数: 0, 下载积分: 金钱 -5

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-4-29 15:53:36 | 显示全部楼层
1.用我写的这一段替换你自己的最后一部分试试。
前面声明变量
real :: a , k(state_num)
open(60,file="F:\work\gongbao\2015\windave\0\name2.txt",status='replace')
do i=1,state_num2
k(:) = state_name(:) - state_name2(i)
a = minval(abs(k(:)))
if (a .ne. 0) then
write(60 , *) state_name2(i)
end if
end do
2.既然程序有错就应该贴出来报错截图,一般没人会去下载了帮你运行一遍
3.不要重复发帖,另一个我删掉了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-4-29 16:33:25 | 显示全部楼层
lqouc 发表于 2016-4-29 15:53
1.用我写的这一段替换你自己的最后一部分试试。
前面声明变量
real :: a , k(state_num)

嗯嗯太感谢您了,可能是自己变成真的不够好,minaval函数也基本没有用过,看似很简单的程序,还是很有难度,谢谢您了,我也在试试
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表