如何从数字1-9填充3x3 2d数组

时间:2018-03-18 16:32:32

标签: c++

我知道我的问题可能会被投票和业余/基本但我会很乐意为了学习。如何使用循环从数字1-9填充我的2d数组?没有载体,我仍然在基本的ty。

#include<iostream>
using namespace std;

int main(){

    int ar[3][3]= {0};

    for(int i =1;i<=9;i++){ //this is the part i think im wrong and i cant figure it out

        ar[3][3] = i;
    }


    for(int i = 0; i<3; i++){
        for(int j = 0;j<3; j++){    
        cout<<ar[i][j];
        }
        cout<<"\n";
    }
}

2 个答案:

答案 0 :(得分:1)

一种非常简单的方法就是使用一个带有两个for()循环的计数器。您可以将计数器分配给for()循环指定的位置,然后递增计数器。它可能看起来像这样:

int counter = 1;
for(size_t i = 0; i < 3; ++i)
{
    for(size_t j = 0; j < 3; ++j)
    {
        arr[i][j] = counter;
        ++counter;
    }
}

您的另一个选择是在声明时显式初始化数组。您可以按如下方式执行此操作:

int array[3][3] = {
    {1, 2, 3},
    {4, 5, 6},
    {7, 8, 9}};

答案 1 :(得分:0)

使用两个嵌套循环填充数组,与打印相同。通过在内循环中递增计数器,使用计数器从1到9进行计数。

#include <iostream>
using namespace std;

int main(){

    int ar[3][3];

    int a = 1;
    for(int i = 0; i<3; i++){
        for(int j = 0;j<3; j++){    
            ar[i][j] = a;
            a++;
        }
    }

    for(int i = 0; i<3; i++){
        for(int j = 0;j<3; j++){    
            cout<<ar[i][j];
        }
        cout<<"\n";
    }
}