无法使C++程序正确计数

Cannot make C++ program count correctly

本文关键字:程序 C++      更新时间:2023-10-16

新年快乐。

我正在做一个C++项目,它是这样的:

for(s=1; s<=n; s++){
    for (k=2; k<=n; k++) {
        den[k]       =   0;
        den[k]       =   sqrt((abs(a[1][1][x]))*(abs(a[1][1][x])) + (abs(a[k][1][x]))*(abs(a[k][1][x])));
....Some magic happens here
    }
}

我无法弄清楚的是,每次内部循环发生时,如何使a[y][y][x]数组向第三个单元格添加一个(即它变得a[y][y][x+1])。

因此,例如,假设n = 3.

然后在内部 for 循环发生一次后,将 1 加到 x .再次发生后,再次将 1 添加到 x 中。然后外循环将发生,内循环将再次启动;我想再次在x中添加另一个+1.所以总的来说,我想添加六个 1(因为内部循环将运行 6 次 - 每次一个)。

提前谢谢。

我不是 100% 确定你在问什么,但我认为你正在寻找这个:

int xDelta = 0;
for(s=1; s<=n; s++){
    for (k=2; k<=n; k++, xDelta++) {
        den[k]       =   0;
        den[k]       =   sqrt((abs(a[1][1][x + xDelta]))*(abs(a[1][1][x + xDelta])) + (abs(a[k][1][x + xDelta]))*(abs(a[k][1][x + xDelta])));
....Some magic happens here
    }
}

或者,如果您想实际修改x变量本身......

for(s=1; s<=n; s++){
    for (k=2; k<=n; k++, x++) {
您可以使用

命令

++x;

以递增变量 x 的值。

看起来

很容易,或者我没有得到

for(s=1; s<=n; s++){
int myX = x;
    for (k=2; k<=n; k++) {
        den[k]       =   0;
        den[k]       =   sqrt((abs(a[1][1][x]))*(abs(a[1][1][myX])) + (abs(a[k][1][myX]))*(abs(a[k][1][myX])));
....Some magic happens here
        myX++;
    }
}