代码之家  ›  专栏  ›  技术社区  ›  Alex Chan

在二维数组中输入值并打印

  •  0
  • Alex Chan  · 技术社区  · 7 年前

    我正试图编写一个C++程序,要求输入一个3×3数组,然后打印它们。我正在尝试打印它,但不确定为什么每个val只给我0

    #include <iostream>
    
    using namespace std;
    
    const int row = 3;
    const int col = 3;
    
    void printMatrix(int array[row][col]) 
    {
        int i, j;
        cout << endl << "Matrix " << endl;
    
        for(i = 0; i < row; i++) 
        {
            cout << endl;
            for(j = 0; j < col; j++) 
            {
                cout << array[row][col] << "\t";
            }
        }
    
        cout << "\n";
    }
    
    int main()
    {
        int i, j, array[row][col];
    
        for(i = 0; i < 3; i++) 
        {
             for(j = 0; j < 3; j++) 
             {
                 cout << "Enter a value for Row " << i + 1 << " Col " << j + 1     << ": "
                 cin >> array[i][j];
             }
         }
    
         printMatrix(array);
    
    }
    

    控制台输出:

    为第1行第1列输入值:1

    为第1行第2列输入值:2

    输入第2行第1列的值:1

    为第2行第3列输入值:3

    输入第3行第1列的值:1

    输入第3行第2列的值:2

    为第3行第3列输入值:3

    0       0       0
    
    0       0       0
    
    0       0       0
    
    2 回复  |  直到 4 年前
        1
  •  1
  •   Ratul Sharker    7 年前

    cout << array[row][col] << "\t";
    

    尝试

    cout << array[i][j] << "\t";
    
        2
  •  0
  •   Michael0x2a    7 年前

    你只需要改变 printMatrix() 将此功能更改如下:

    cout << array[i][j] << "\t";
    

    然后放分号( ; cout 主函数中的语句。