读书人

vector中的数据运算,该怎么解决

发布时间: 2012-06-18 13:23:36 作者: rapoo

vector中的数据运算
X Y Z
ATOM 5568 CA VAL L 16 -19.197 16.196 1.197 0.00 0.00 L
ATOM 5584 CA GLY L 17 -21.997 13.914 -0.035 0.00 0.00 L
ATOM 5591 CA SER L 18 -23.264 10.367 -0.718 0.00 0.00 L
ATOM 5602 CA ASN L 19 -20.597 7.655 -0.855 0.00 0.00 L
ATOM 5616 CA LYS L 20 -16.904 6.614 -1.542 0.00 0.00 L
ATOM 5638 CA GLY L 21 -16.317 2.866 -2.734 0.00 0.00 L
ATOM 5645 CA ALA L 22 -12.552 2.655 -3.205 0.00 0.00 L
ATOM 5655 CA ILE L 23 -9.414 0.881 -2.467 0.00 0.00 L
ATOM 5674 CA ILE L 24 -5.983 2.420 -3.005 0.00 0.00 L
ATOM 5693 CA GLY L 25 -2.344 1.413 -2.701 0.00 0.00 L
ATOM 5700 CA LEU L 26 0.562 3.973 -2.742 0.00 0.00 L
ATOM 5719 CA MET L 27 4.391 3.832 -2.457 0.00 0.00 L
ATOM 5736 CA VAL L 28 7.553 5.834 -2.561 0.00 0.00 L
ATOM 5752 CA GLY L 29 11.104 4.554 -1.965 0.00 0.00 L
ATOM 5759 CA GLY L 30 14.757 5.681 -2.497 0.00 0.00 L
ATOM 5766 CA VAL L 31 17.839 3.545 -2.095 0.00 0.00 L
ATOM 5785 CA VAL L 32 21.383 3.746 -3.153 0.00 0.00 L


一个vector中有如上类型数据(一部分,具体数据大小未知),其中X Y Z 是坐标数据,如何计算两点间距离!
谢谢!
红色部分为XYZ 数据!

[解决办法]
计算距离:x^2+y^2+z^2进行开方。楼主知道了么
[解决办法]
相邻的两条记录求么?
(x1-x2)^2 + (y1-y2)^2 + (z1-z2)^2,再对结果开方sqrt()
[解决办法]
自己根据数据格式从vector里面取数据这个不会么??
[解决办法]
vector< vector<string> > v;
if(v[0][6]=="-19.197")
...
[解决办法]
这些数据在一个vector<string> vec中,v.push_back(vec),则v[0][6]输出的是第7行!

读书人网 >C++

热点推荐