新年快乐。
我正在开发一个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
。再次发生后,再次向x
添加1。然后外环将发生,内环将再次开始;我想再次向x
添加另一个+1。所以总的来说,我想添加6个1(因为内部循环将运行6次 - 每次一次)。
提前致谢。
答案 0 :(得分:1)
您可以使用命令
++ X;
增加变量x的值。
答案 1 :(得分:1)
我不是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++) {
答案 2 :(得分:1)
看起来很简单,或者我没有得到
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++;
}
}