|
如图一,画红圈的是我读取文件的单元名称,我需要将这个读入的数据变成图二的样式。规律是画红圈的部分,前两个字符不变,后面的字符从末尾气依次加一。前两个字符相同的单元号,其后面对应的数值也不变,我编的程序如图三,图四所示,但是导出的文件的结果如图五所示,通过程序编译,可知问题应该是发生在图六画红圈的部分,但是我不知如何修改吗,希望大神能帮我看一下应该如何修改?
代码如下:
[Fortran] 纯文本查看 复制代码 04 | integer :: column , addcolumn |
05 | character ( len = 3 ) stateindex |
06 | character ( len = 1 ) colon |
07 | character ( len = 1 ) pressure |
08 | character ( len = 1 ) commaa |
09 | character ( len = 15 ) variables |
10 | real ( kind = 8 ) :: porosity , Numcon 1 , Numcon 2 , Numcon 3 , Numcon 4 |
18 | integer , parameter :: fileid = 3 |
19 | integer , parameter :: fileids = 4 |
20 | integer , parameter :: linenum = 2 |
21 | integer , parameter :: columnnum = 150 |
22 | character ( len = 80 ) title |
23 | type ( para ) :: s ( linenum ) |
24 | type ( para ) :: a ( columnnum ) |
25 | integer i , j , error , truecolumn |
28 | open ( fileid , file = "save.txt" , status = "old" , iostat = error ) |
30 | write ( * , * ) "open save.txt fail." |
34 | OPEN ( UNIT = fileids , FILE = 'INCON.txt' , FORM = 'FORMATTED' , STATUS = 'NEW' , IOSTAT = error ) |
36 | write ( * , * ) "open elem_elem.txt fail" |
41 | write ( fileids , "(A80)" ) title |
44 | read ( fileid , FMT = 5001 ) s ( i ) % line , s ( i ) % column , s ( i ) % porosity , s ( i ) % stateindex , s ( i ) % colon , s ( i ) % pressure , s ( i ) % commaa , s ( i ) % variables , s ( i ) % Numcon 1 , s ( i ) % Numcon 2 , s ( i ) % Numcon 3 , s ( i ) % Numcon 4 |
45 | write ( fileids , FMT = 5001 ) s ( i ) % line , s ( i ) % column , s ( i ) % porosity , s ( i ) % stateindex , s ( i ) % colon , s ( i ) % pressure , s ( i ) % commaa , s ( i ) % variables , s ( i ) % Numcon 1 , s ( i ) % Numcon 2 , s ( i ) % Numcon 3 , s ( i ) % Numcon 4 |
46 | a ( i ) % addcolumn = s ( i ) % column |
48 | a ( i ) % porosity = s ( i ) % porosity |
49 | a ( i ) % stateindex = s ( i ) % stateindex |
50 | a ( i ) % colon = s ( i ) % colon |
51 | a ( i ) % pressure = s ( i ) % pressure |
52 | a ( i ) % commaa = s ( i ) % commaa |
53 | a ( i ) % variables = s ( i ) % variables |
54 | a ( i ) % Numcon 1 = s ( i ) % Numcon 1 |
55 | a ( i ) % Numcon 2 = s ( i ) % Numcon 2 |
56 | a ( i ) % Numcon 3 = s ( i ) % Numcon 3 |
57 | a ( i ) % Numcon 4 = s ( i ) % Numcon 4 |
59 | a ( j ) % addcolumn = a ( j ) % addcolumn + j |
60 | write ( fileids , FMT = 5001 ) a ( i ) % line , a ( j ) % addcolumn , a ( i ) % porosity , a ( i ) % stateindex , a ( i ) % colon , a ( i ) % pressure , a ( i ) % commaa , a ( i ) % variables , a ( i ) % Numcon 1 , a ( i ) % Numcon 2 , a ( i ) % Numcon 3 , a ( i ) % Numcon 4 |
68 | 5001 FORMAT ( A 2 , A 3 , 11 X , ES 14.8 , 2 X , A 3 , A 1 , 1 X , A 1 , A 1 , 5 X , A 15 / 1 X , ES 19.13 , 1 X , ES 19.13 , 1 X , ES 19.13 , 1 X , ES 19.13 ) |
|
-
1.png
(98.16 KB, 下载次数: 363)
图一
-
2.png
(118.12 KB, 下载次数: 385)
图二
-
3.png
(28.41 KB, 下载次数: 383)
图三
-
4.png
(25.37 KB, 下载次数: 375)
图四
-
5.png
(63.13 KB, 下载次数: 380)
图五
-
图六.png
(150.83 KB, 下载次数: 364)
图六
|