2011-11-21 8 views
0

配列を使うのは初めてのことです。 2D配列内の値を変更して印刷するにはどうすればよいですか?2次元配列を出力し、値を置き換えます。

たとえば、1を「」(空白)に、2を「*」に置き換えて印刷したいとします。どうやってやるの?

これは私のコードです:

#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"); 

} 

は、私はそれがあれば-else文とは何かを持っていると思いますが、誰かが私を助けてくださいすることができます私は をそれをやってのけるカント?

+1

EHM .....何のif-else文? – Bart

+0

あなたが試したif-else文を私たちに見せてもらえますか? –

+0

あなたは 'if..else'文を持っていないだけでなく、何も置き換えようとしていません。 –

答えて

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. 
    } 
} 
0

私は、これはあなたが何を意味するかであるかどうかわからないですが、あなたは次のようにそれを変更することができます。 Xshape [行] [ col] =値;このような

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; 
    } 
} 
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"; 
    } 
+0

ありがとう!:)出来た!!! –

関連する問題