| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 346 人关注过本帖
标题:急需C程序处理数据,求高手帮忙解答啊
只看楼主 加入收藏
santan
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-3-4
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:1 
急需C程序处理数据,求高手帮忙解答啊
老板给了数据文件要求写C程序进行后处理,我是机械专业的,C语言就上学时学过还没学好。请各位帮忙了,谢谢各位了!

文件格式如下:
#F A 1 1 1 3 3 2
#C number type mass x y z vx vy vz Epot eam_rho
#E
1390 0 63.546300 1.366122 3.274510 3.959495 -0.014555 0.021480 0.011286 -3.336130 0.983624
2075 0 63.546300 0.197795 4.925601 2.678359 0.015554 0.035225 0.028217 -3.354595 0.977031
3833 0 63.546300 4.796687 5.563218 3.726159 0.010010 -0.001101 0.048472 -3.379659 0.898155
232 0 63.546300 1.785678 0.692921 3.458947 -0.010475 -0.028170 -0.039203 -3.255102 0.907376
2417 0 63.546300 1.431713 3.511336 1.161916 -0.047983
....
....
n行

从第四行开始,第一列为原子序号,第4,5,6为原子3维x,y,z坐标。

1. 读入文件
2.对某个原子i(i应该从第一个被读到的原子开始吧?),计算它与其他所有原子之间的距离: |d|=sqrt[ (xi-xj)^2+(yi-yj)^2+(zi-zj)^2].
3.将计算到的间距按升序排列,并只取前12个,d1....d12
4.在上面12个原子中,与原子i距离最近的原子为d1(这个d1是向量d1=[(xi-x1),(yi-y1),(zi-z1)]),计算d1到其他11个原子的Dj=|d1+dj|^2,(dj也是向量) 令其中最小的Dj赋值为D1.
5. 扔掉d1和原子j.在剩下的10个原子中再找离原子i最近的,重复步骤4,计算出D2
6. 计算至12个原子都用完,此时有D1,D2...D6,
7. 对于原子i, 计算c=(D1+D2+D3+D4+D5+D6)/2/(d1^2+d2^2+.......+d12^3)
8. 按上述计算原子i+1的c
9. 输出原子序号,坐标及其c:
   原子序号 x y z c


请各位帮忙了,谢谢各位了!

[ 本帖最后由 santan 于 2010-3-4 12:08 编辑 ]
搜索更多相关主题的帖子: 解答 数据 
2010-03-04 12:07
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:14 
如果每行数据都是11个的话,可以使用格式化读(fscanf()),如果数据量不是很大,可以先读入数组,再进行处理,如果数据量大的话,需要先读入一部分数据,再处理,然后再读,再处理。

★★★★★为人民服务★★★★★
2010-03-04 19:50
快速回复:急需C程序处理数据,求高手帮忙解答啊
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025861 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved