1

我是 Fortran 新手,我正在尝试编写一个程序来读取一个 .txt 文件,其中我有 24480 行和 6000 列。在每一行(作为个体)中,我的基因型表示为 1 和 2,例如,如果在第一行中,我有 204 个基因型,则该基因型的前半部分(=102)属于个体的父亲,后半部分属于基因型属于个人的大坝。此外,每一行都有不相等的值。那么,我如何为 Fortran 定义逐行读取此文件并将每行分为两行并将每个元素 (i) 放在平均值 + i 旁边。

例如,我将文件的两行显示为简要: row1:112122121112122111112121111211122121111121 row2:211121111121122222121112121211121221212121111121112 1212

等等。任何帮助将不胜感激。

4

1 回答 1

2

您需要将每一行作为字符串读取,使用 len_trim() 获取其长度,然后将每一半读入整数数组:

     character*10000 line

     read(unit,'(a)')line
     len=len_trim(line)
     read(line,'(10000i1)')a(:len/2),b(:len/2)
于 2012-09-17T21:25:42.457 回答