我被困在阵列练习的最后几个问题上。有人可以帮忙吗?
编写执行以下操作的C ++语句:
将5存储在数组的第一列中,并确保每个后续列中的值是前一列中值的两倍。
每行打印一行数据。
每行打印一列数据。
我认为这适用于问题#2:
for (row = 0; row < 10; row++)
{
for (col = 0; col < 20; col++)
cout << alpha[row][col] << " ";
cout << endl;
}
但问题1和3让我难过。感谢
这是我在提示之后想出来的。谢谢大家
3
for (col = 0; col < 20; ++col)
{
for (row = 0; row < 20; ++row)
cout << alpha[row][col] << " ";
cout << endl;
}
1
for (row = 0; row < 10; row++)
alpha[row][0] = 5;
for (col = 1; col < 20; col++)
for (row = 0; row < 10; row++)
alpha[row][col]=alpha[row][col-1]*2;
答案 0 :(得分:1)
对于问题#3,只需颠倒循环的顺序,如
for (col = 0; col < 20; col++)
{
for (row = 0; row < 10; row++)
cout << alpha[row][col] << " ";
cout << endl;
}
不是很简单吗?
对于问题#1,只需使用相同的循环顺序,然后执行此操作
int value = 5;
for (col = 0; col < 20; col++)
{
for (row = 0; row < 10; row++)
alpha[row][col] = value;
value = 2 * value;
}
答案 1 :(得分:1)
对于每一行,将5插入第一列(索引0),然后在循环中,从1迭代到所需的数字,并且当前列的值index = 2 *在前一列索引处的值(即col - 1)。
重新排列行,col循环。
答案 2 :(得分:1)
好吧1,只需要将前一个col和多个乘以5.所以当你经历一个循环时,它就像col [现在位置] = col [prev pos] * 2
答案 3 :(得分:1)
对于#1,运行一个从零开始的循环,直到行数。在每次迭代中,只需将5分配给array[row][0]=5
(因为coloumn 0是第一个coloumn)。
现在运行从1到coloumns的循环。在里面,为每一行运行另一个循环。只需指定array[row][col]=array[row][col-1]*2
。
对于#3,只需颠倒循环的顺序即可。我们遍历所有coloumns,对于每个coloumns,我们必须遍历所有行并在此之后打印换行符。
我会发布代码,但您最好自己尝试理解和编写代码。