数组问题(作业)

时间:2011-02-24 15:51:53

标签: c++ multidimensional-array

我被困在阵列练习的最后几个问题上。有人可以帮忙吗?

编写执行以下操作的C ++语句:

  1. 将5存储在数组的第一列中,并确保每个后续列中的值是前一列中值的两倍。

  2. 每行打印一行数据。

  3. 每行打印一列数据。

  4. 我认为这适用于问题#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;
    

4 个答案:

答案 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)

  1. 对于每一行,将5插入第一列(索引0),然后在循环中,从1迭代到所需的数字,并且当前列的值index = 2 *在前一列索引处的值(即col - 1)。

  2. 重新排列行,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,我们必须遍历所有行并在此之后打印换行符。

我会发布代码,但您最好自己尝试理解和编写代码。