小编use*_*340的帖子

跳过 for 循环的特定(指定)迭代

我对 C++ 很陌生,但我在网上找不到解决方法,我觉得可能有一个有趣、优雅的解决方案。

我最终试图为行星运动编写一个越级算法。我定义了一个名为行星的类

Planet(double mass, double x0, double x1, double v0, double v1)
Run Code Online (Sandbox Code Playgroud)

我有一个存储 4 个不同行星信息的数组:

Planet planets[] = {
Planet(2.0, -0.5, 0, -0.94, 0.65),
Planet(1.0, -0.6, -0.2, 1.86, 0.7),
Planet(1.0, 0.5, 1.0, -0.44, -1.40),
Planet(0.4, 0.6, 0.3, 1.15, -1.50)
};
Run Code Online (Sandbox Code Playgroud)

我将要计算每个行星在其他行星上的重力引起的力。这涉及对行星 i 上的力实施数学方程:F_i= sum over i!=j of [(G m_i m_j)/r_ij],其中 i 和 j 表示两个行星,j 每次递增,r_ij 表示距离两者之间。

在我开始将其作为一个整体考虑之前,我正在测试是否可以使用 for 循环从数组中选择一个特定的行星,并从该行星中选择一个特定的组件,然后打印出来。通过

for(int i=0; i<4; ++i){
cout << planets[i].getvx() << "\n";
}
Run Code Online (Sandbox Code Playgroud)

但是,我想尝试排除一个特定的行星,比如说我正在计算 j = 2 上的力。

for(int i=0; (i<j || …
Run Code Online (Sandbox Code Playgroud)

c++ arrays algorithm for-loop numerical-methods

2
推荐指数
1
解决办法
8915
查看次数

标签 统计

algorithm ×1

arrays ×1

c++ ×1

for-loop ×1

numerical-methods ×1