Fortran 中仅在第二行和第三行写入数字

发布于 2025-01-11 10:43:19 字数 653 浏览 0 评论 0原文

我正在努力尝试仅在第二列的第二行和第三行上获取数字 1 和 2。

我有一个文件 tisk2

  O
  H
  H
  O
  H
  H

并且我需要获取文件 tisk 这个:

O
H1
H2
O
H1
H2

我的意思是我不想在 O 之后没有数字和文本。我尝试编写此代码:

program cislo
implicit none
integer :: i, sum, j, k
character :: t*10, m*10

open(10,file="tisk2",status='old')
open(12,file="tisk",status='old')

do k=0,5
read(10,*) m
enddo

do j=1,3
 do i = 0,0
 t=" "
 print*, t
exit
enddo
sum=0
do i=1,2
write(12,fmt='(a2,i2)') m, i
enddo
enddo

end program cislo

我只能打印 i,但我什么也没得到,第二行 1 和第三行2.然后单独打印m。但是当我想将两者都放入一个文件时,它会跳过 O 并仅写入文件 H1、H2,然后再次写入文件。有谁知道如何获得我需要的东西?谢谢你的帮助。

I am fighting with trying to get numbers 1 and 2 only on each second and third line in the second column.

I have a file tisk2 with

  O
  H
  H
  O
  H
  H

And I need to get to file tisk this:

O
H1
H2
O
H1
H2

I mean I want no number no text after O. I tried to write this code:

program cislo
implicit none
integer :: i, sum, j, k
character :: t*10, m*10

open(10,file="tisk2",status='old')
open(12,file="tisk",status='old')

do k=0,5
read(10,*) m
enddo

do j=1,3
 do i = 0,0
 t=" "
 print*, t
exit
enddo
sum=0
do i=1,2
write(12,fmt='(a2,i2)') m, i
enddo
enddo

end program cislo

I can print only i and I get nothing, second line 1 and third line 2. Then alone print m. But when I want to put both to one file, it skips O and writes to file only H1, H2 and then again. Does anyone has an idea how to get what I need? Thank you for help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文