打印出2D数组,替换值

时间:2011-11-21 20:30:10

标签: c++ if-statement replace multidimensional-array

这是我第一次使用数组而且我坚持这个。 如何更改2D数组中的值并将其打印出来?

例如,我想将“1”替换为“”(空格),将2s替换为“*”,然后将其打印出来。我怎样才能做到这一点?

这是我的代码:

#include <iostream>

using namespace std;

int main(){

    int Xshape[5][5] = {{2,1,1,1,2},
                        {1,2,1,2,1},
                        {1,1,2,1,1},
                        {1,2,1,2,1},
                        {2,1,1,1,2},

    };
    {
        for (int row = 0; row<5 ; row++)
        for (int column=0; column < 5; column++)
        {
            cout << Xshape[row][column] << endl;
        }

    }
    system("pause");

}

我认为它与if-else语句有关,但我无法将其删除 有人可以帮帮我吗?

4 个答案:

答案 0 :(得分:2)

是的,可以使用简单的if语句来完成:

for (int column=0; column < 5; column++)
{
    int val = Xshape[row][column];
    if (val == 1){
        cout << " " << endl;
    }else if (val == 2){
        cout << "*" << endl;
    }else{
        //  Handle error case of neither 0 nor 1.
    }
}

答案 1 :(得分:0)

我不确定这是不是您的意思,但您可以通过以下方式更改它: Xshape [row] [col] = value;

答案 2 :(得分:0)

类似的东西:

for (int column=0; column < 5; column++)
{
  switch (Xshape[row][column])
  {
    case 1: cout << " " << endl;
            break;
    case 2: cout << "*" << endl;
            break;

    default:assert(0); 
            break;
  }
}

答案 3 :(得分:0)

for (int row = 0; row<5 ; row++)
  { 
  for (int column=0; column < 5; column++)
   {
    if(Xshape[row][column]==1) cout << " ";
    else if(Xshape[row][column]==2) cout << "*";
   }
     cout << "\n";
  }