C++ for循环中的同时变化
Simultaneous changes in C++ for-loop
我有以下代码:
for (int i = 0; i < 4; i++){
for (int j = 7; j > 3; j--){
cout << array[i];
cout << array[j];
}
}
这里先把j
的值改了四次,然后程序开始改i
的值。
编辑:比方说,数组包含与其位置相关的数字:array[0] = 0、array[1] = 1 等等。此方法创建以下序列: 0 7 0 6 0 5 0 4 1 7 ... 而不是这个,我想要 0 7 1 6 2 5 ...
如何让它们同时变化?
例如
for ( int i = 0, n = 3, m = 4; i < 4; i++ )
{
cout << array[n - i];
cout << array[m + i];
}
编辑:在您按以下方式更改问题中的代码后
for (int i = 0; i < 4; i++){
for (int j = 7; j > 3; j--){
cout << array[i];
cout << array[j];
}
}
然后循环可以看看
for ( int i = 0, n = 7; i < 4; i++ )
{
cout << array[i];
cout << array[n - i];
}
另一个例子:
int j = 4;
for (int i = 3; i > -1; i--) {
cout << array[i];
cout << array[j];
j++;
}
您可以在数组内部使用距末尾的偏移量,如下所示:
for(int i = 0; i < 4; ++i)
cout << array[i] + array[7 - i];
我有以下代码:
for (int i = 0; i < 4; i++){
for (int j = 7; j > 3; j--){
cout << array[i];
cout << array[j];
}
}
这里先把j
的值改了四次,然后程序开始改i
的值。
编辑:比方说,数组包含与其位置相关的数字:array[0] = 0、array[1] = 1 等等。此方法创建以下序列: 0 7 0 6 0 5 0 4 1 7 ... 而不是这个,我想要 0 7 1 6 2 5 ...
如何让它们同时变化?
例如
for ( int i = 0, n = 3, m = 4; i < 4; i++ )
{
cout << array[n - i];
cout << array[m + i];
}
编辑:在您按以下方式更改问题中的代码后
for (int i = 0; i < 4; i++){
for (int j = 7; j > 3; j--){
cout << array[i];
cout << array[j];
}
}
然后循环可以看看
for ( int i = 0, n = 7; i < 4; i++ )
{
cout << array[i];
cout << array[n - i];
}
另一个例子:
int j = 4;
for (int i = 3; i > -1; i--) {
cout << array[i];
cout << array[j];
j++;
}
您可以在数组内部使用距末尾的偏移量,如下所示:
for(int i = 0; i < 4; ++i)
cout << array[i] + array[7 - i];