2011-11-21 50 views
0

這是我第一次使用數組,我堅持這一點。 如何更改2D數組內的值並將其打印出來?打印出二維數組,取代數值

例如,我想用「」(空格)替換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"); 

} 

我覺得它有什麼做的if-else語句,但我不能把它關閉 有人可以幫助我嗎?

+1

埃姆.....什麼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] = value;

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

非常感謝你:)!有效!!! –