| 查看: 721 | 回复: 6 | ||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | ||
WANGGUANG123
|
[求助]
microsoft visual 2013已停止正常工作已有2人参与
|
|
|
#include<iostream> #include<fstream> #include<math.h> #include<time.h> #include<stdio.h> #include<stdlib.h> #define N 10 using namespace std; double Min(double array[], int n) { double min = array[1]; if (n > 2) { for (int i = 1; i < n; ++i) { if (array < min) min = array; } } return min; } void main() { //输出文件流 输出到data.txt ofstream outfilex,outfiley,outfilez; outfilex.open("x.txt" ;outfiley.open("y.txt" ;outfilez.open("z.txt" ;srand((unsigned)time(NULL)); double x[N], y[N], z[N];//定义1000个粒子的三个坐标数组 double r;//半径大小 double step, R;//步长和容限 cout << "输入半径r:" << " "; cin >> r; cout << endl << "输入移动步长step:" << " "; cin >> step; cout << endl << "输入容量大小R:" << " "; cin >> R; cout << endl; for (int i = 0; i < N; i++)//将每个粒子的坐标先全定义成000 { x = 0; y = 0; z = 0; } int a = 2; while (1) { //int hh = 0; x[a] = (rand() % 20000 - 10000) / 10000.0*R;//定义下一个粒子的随机坐标 y[a] = (rand() % 20000 - 10000) / 10000.0*R; z[a] = (rand() % 20000 - 10000) / 10000.0*R; while (1) { double distance[N]; for (int c = 1; c < a; c++) { distance[c] = (x[a] - x[c])*(x[a] - x[c]) + (y[a] - y[c])*(y[a] - y[c]) +(z[a] - z[c])*(z[a] - z[c]);//求两粒子间的距离 } if (Min(distance,a)<4.0* r*r)//如果和之前所有粒子的距离小于球心距,则此粒子生成成功,产生下一个粒子判定 { cout << a << " "; cout << Min(distance, a)<<" "<<x[a]<<" "<<y[a]<<" "<<z[a]<<endl; a++; break; } else//否则在该粒子位置处随机运动给定步长,进行下一次判定 { double theta = (rand() % 1000) / 1000.0*6.28; double fy = (rand() % 1000) / 1000.0*6.28; x[a] = x[a] + step*sin(theta)*cos(fy); y[a] = y[a] + step*sin(theta)*sin(fy); z[a] = z[a] + step*cos(theta); if (abs(x[a]) >= R || abs(y[a]) >= R || abs(z[a]) >= R) break; } } if (a == N+1)//到1000个粒子,退出 break; } system("pause" ;cout << "x y z坐标分别为" << endl; for (int j = 1; j < N+1 ; j++) { cout << j<< " " << x[j] << " " << y[j] << " " << z[j] << endl; //system("pause" ;//输出到文件 outfilex << x[j] << endl; outfiley << y[j] << endl; outfilez<<z[j] << endl; } //关闭输出文件流 outfilex.close(); outfiley.close(); outfilez.close(); system("pause" ;} 结果能运行出来,但是在关闭运行框的时候会报错 |
» 猜你喜欢
投稿Elsevier的Neoplasia杂志,到最后选publishing options时页面空白,不能完成投稿
已经有19人回复
职称评审没过,求安慰
已经有19人回复
垃圾破二本职称评审标准
已经有12人回复
EST投稿状态问题
已经有7人回复
谈谈两天一夜的“延安行”
已经有15人回复
毕业后当辅导员了,天天各种学生超烦
已经有4人回复
聘U V热熔胶研究人员
已经有10人回复
求助文献
已经有3人回复
投稿返修后收到这样的回复,还有希望吗
已经有8人回复
三无产品还有机会吗
已经有6人回复
» 本主题相关价值贴推荐,对您同样有帮助:
Microsoft Word
已经有6人回复
Microsoft Office大全
已经有129人回复
2010microsoft office
已经有63人回复
microsoft developer studio
已经有38人回复
zzy滴号
金虫 (小有名气)
- 应助: 18 (小学生)
- 金币: 5449.9
- 散金: 367
- 红花: 1
- 帖子: 282
- 在线: 895.6小时
- 虫号: 1540568
- 注册: 2011-12-17
- 性别: GG
- 专业: 理论和计算化学

5楼2015-11-15 21:57:42
zzy滴号
金虫 (小有名气)
- 应助: 18 (小学生)
- 金币: 5449.9
- 散金: 367
- 红花: 1
- 帖子: 282
- 在线: 895.6小时
- 虫号: 1540568
- 注册: 2011-12-17
- 性别: GG
- 专业: 理论和计算化学

2楼2015-11-15 10:48:04
lvweizhong
铜虫 (著名写手)
- 应助: 57 (初中生)
- 金币: 3181.3
- 红花: 10
- 沙发: 1
- 帖子: 2064
- 在线: 167.6小时
- 虫号: 3683385
- 注册: 2015-02-09
- 专业: 数论
3楼2015-11-15 18:32:41
lvweizhong
铜虫 (著名写手)
- 应助: 57 (初中生)
- 金币: 3181.3
- 红花: 10
- 沙发: 1
- 帖子: 2064
- 在线: 167.6小时
- 虫号: 3683385
- 注册: 2015-02-09
- 专业: 数论
4楼2015-11-15 18:33:39














;
回复此楼