24小时热门版块排行榜    

查看: 883  |  回复: 4

1010500

金虫 (小有名气)

[求助] FORTRAN或程序语言数据处理求助

现有a.txt文件,其中数据格式如下:
0  0   0.066830    0  1  -0.030365    0  2   0.004788
0  3  -0.030365    1  0  -0.030365    1  1  -0.002760
1  2   0.042759    1  3   0.053272    2  0   0.004788
2  1   0.042759    2  2   0.000067    2  3  -0.000719
3  0  -0.030365    3  1   0.053272    3  2  -0.000719
3  3  -0.002141                                      
希望通过FORTRAN读入处理,以以下格式输出到b.txt:
0  0   0.066830                                                         
1  1  -0.002760    1  0  -0.030365                                      
2  2   0.000067    2  1   0.042759    2  0   0.004788                  
3  3  -0.002141    3  2  -0.000719    3  1   0.053272    3  0  -0.030365
急切的希望高手帮助,不甚感激!C/C++、VB处理也可。金币不够可以再加.

[ Last edited by 1010500 on 2012-11-21 at 20:54 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
1010500: 金币+20, ★★★很有帮助, 你好,感谢你的帮助,不懂你使用的这个程序,能否写成C++? 2012-11-21 21:20:39
jjdg: 金币+1, 感谢参与 2012-11-22 10:05:27
python code
CODE:
#! /usr/bin/env python
import re

data = {}
for line in open(r'data.txt').readlines():
        items = [x.strip() for x in line.split(' ') if len(x.strip())>0]
        for i in range(0,len(items),3):
                if items[i] in data.keys():
                        data[items[i]][items[i+1]] = items[i+2]
                else:
                        data[items[i]] = {items[i+1]:items[i+2]}
for i in range(len(data)):
        for j in range(i,-1,-1):
                print '%d %d %0.6f ' % (i,j,float(data[str(i)][str(j)])),
        print

结果:
CODE:
>>> ================================ RESTART ================================
>>>
0 0 0.066830
1 1 -0.002760  1 0 -0.030365
2 2 0.000067  2 1 0.042759  2 0 0.004788
3 3 -0.002141  3 2 -0.000719  3 1 0.053272  3 0 -0.030365
>>>  

matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
2楼2012-11-21 21:08:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chembetsey

木虫 (小有名气)

【答案】应助回帖


感谢参与,应助指数 +1
jjdg: 金币+1, 感谢参与 2012-11-22 10:05:33
直接循环读入数组,再写出来就是了。处理数组,Fortran功能更强大。
open(unit=1, file='A.txt')
open(unit=2, file='B.txt')
read(1, *) (R(i, j), j=0,3), i=0,3)
do i=0,3
    write(2, *) (i, j, R(i, j), j=i, 0, -1)
end do
3楼2012-11-21 21:39:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

1010500

金虫 (小有名气)

引用回帖:
3楼: Originally posted by chembetsey at 2012-11-21 21:39:27
直接循环读入数组,再写出来就是了。处理数组,Fortran功能更强大。
open(unit=1, file='A.txt')
open(unit=2, file='B.txt')
read(1, *) (R(i, j), j=0,3), i=0,3)
do i=0,3
    write(2, *) (i, j, R(i, j), ...

谢谢你了,能否把代码写全验证一下,我运行你给的代码出现很多错误。
4楼2012-11-21 22:20:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chembetsey

木虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
jjdg: 金币+1, 感谢参与 2012-11-22 10:05:40
1010500: 金币+30, ★★★★★最佳答案, 非常感谢你的帮助! 2012-11-23 15:01:10
改正错误是你学习的必经途径。

integer i, j, k
real*8 R(0:3,0:3)
open(unit=1, file='A.txt')
open(unit=2, file='B.txt')
read(1, *) ( (k, j, R(i, j), j=0,3), i=0, 3)
do i=0,3
    write(2, '(100(I3, I3, F10.6))') (i, j, R(i, j), j=i, 0, -1)
end do
end
5楼2012-11-21 23:03:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 1010500 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 275求调剂 +5 shansx 2026-03-22 6/300 2026-03-22 13:01 by zhanglang93
[考研] 285求调剂 +6 ytter 2026-03-22 6/300 2026-03-22 12:09 by 星空星月
[考研] 求调剂院校信息 +5 CX 330 2026-03-21 5/250 2026-03-22 11:32 by 杨杨杨紫
[考研] 一志愿070300浙大化学358分,求调剂! +3 酥酥鱼.. 2026-03-21 3/150 2026-03-22 11:31 by 杨杨杨紫
[考博] 招收博士1-2人 +3 QGZDSYS 2026-03-18 4/200 2026-03-22 10:25 by QGZDSYS
[考研] 一志愿华中科技大学071000,求调剂 +4 沿岸有贝壳6 2026-03-21 4/200 2026-03-22 07:21 by ilovexiaobin
[考研] 280求调剂 +11 咕噜晓晓 2026-03-18 12/600 2026-03-21 22:40 by ACS Nano——
[考研] 材料学硕333求调剂 +3 北道巷 2026-03-18 3/150 2026-03-21 18:17 by 学员8dgXkO
[考研] 0703化学297求调剂 +3 Daisy☆ 2026-03-20 3/150 2026-03-21 17:45 by ColorlessPI
[考研] 313求调剂 +4 肆叁贰壹22 2026-03-19 4/200 2026-03-21 17:33 by ColorlessPI
[考研] 277材料科学与工程080500求调剂 +6 自由煎饼果子 2026-03-16 6/300 2026-03-21 17:21 by 学员8dgXkO
[考研] 310求调剂 +3 baibai1314 2026-03-16 3/150 2026-03-21 03:56 by JourneyLucky
[考研] 350求调剂 +5 weudhdk 2026-03-19 5/250 2026-03-20 22:04 by luoyongfeng
[考研] 281求调剂(0805) +14 烟汐忆海 2026-03-16 25/1250 2026-03-20 15:47 by yuncha
[考研] 求调剂 +3 暗涌afhb 2026-03-16 3/150 2026-03-20 00:28 by 河南大学校友
[考研] 材料学硕318求调剂 +5 February_Feb 2026-03-19 5/250 2026-03-19 23:51 by 23Postgrad
[考研] 085600材料与化工调剂 324分 +10 llllkkkhh 2026-03-18 12/600 2026-03-19 14:33 by llllkkkhh
[考研] 293求调剂 +11 zjl的号 2026-03-16 16/800 2026-03-18 08:10 by zhukairuo
[硕博家园] 湖北工业大学 生命科学与健康学院-课题组招收2026级食品/生物方向硕士 +3 1喜春8 2026-03-17 5/250 2026-03-17 17:18 by ber川cool子
[考研] 290求调剂 +3 p asserby. 2026-03-15 4/200 2026-03-17 16:35 by wangkm
信息提示
请填处理意见