回 帖 发 新 帖 刷新版面

主题:急!!!求高手指教关于删除重复数据的程序

一个文件中有很多重复的数据,数据为相互对应的两列,我想把凡是第一列有重复数据都删除掉(不知道程序中原有数据的个数)。我编写的代码如下,
[color=FF0000]program filter
  implicit none
  integer i, j 
  integer :: var = 0
  double precision :: a(10000000), b(10000000)
  double precision :: e = 0.00001
      
  open(100, file='bedh.out', access='sequential', status='old')
  i = 1
  do while (var==0)
    read(100, '(e22.15, 3xe16.14)',iostat=var) a(i), b(i)
    i=i+1
  end do

  open(200, file='2.out',position='append')
  write(200,*) a(1), b(1)
  do j=2, i-1
    if (abs(a(j)-a(j-1)).lt.e) cycle
    write(200, *) a(j), b(j)
  end do
  close(200)

end[/color]但是程序运行后输出的文件有问题,就是比如我原来的第一列数据是2.000000000000000E-004,但是输出的是2.000000000000000
我想可能是read中格式的设置问题,但是我不知道怎么设置,求高人指点

回复列表 (共2个回复)

沙发

去掉格式串,改成*:)

板凳

恩,好了。谢谢

我来回复

您尚未登录,请登录后再回复。点此登录或注册