2017-03-08 113 views
-1

我已經使用2D矢量創建了矩陣。我使用的代碼用字符填充矩陣區域

int RC=50; 
vector<vector<int> > matrix; 
vector<int>row; 
///////////Building Grid////////////////// 
for(int i=0;i<RC;i++) 
{ 
    for(int j=0;j<RC;j++) 
    { 
     row.push_back(0); 
    } 
    matrix.push_back(row); 
} 
    //////////Printing Grid/////////////////// 
for(int i=0;i<RC;i++) 
{ 
    for(int j=0;j<RC;j++) 
    { 
     cout<<matrix[i][j]<<" "; 
    } 
    cout<<endl; 
} 

上述代碼的輸出是

enter image description here

現在我想的是,以填補尺寸6x6的塊以「$」或任何字符的矩陣內通過輸入塊的左下角位置。例如,如果我將位置設爲(10,4),那麼我想放置一個'$'(尺寸爲6x6)的塊,其左下座標爲(10,4)。

EDIT-1

我添加的代碼

int si=3; 
int sy=3; 
for(int i=0;i<RC;i++) 
{ 
    for(int j=0;j<RC;j++) 
    { 
     if(i>=si && i<=si+6 && j>=sy && j<=sy+6) 
     { 
      matrix[i][j]=1; 
     } 
     else 
     { 
     matrix[i][j]=0; 
     } 
    } 
} 

和我得到的輸出

enter image description here

我讀的座標爲左上角的,我應該怎麼做才能將座標讀取爲左下角的座標並從那裏構建模塊?

+2

你到目前爲止嘗試過什麼? – JGroven

+1

那麼,你的問題到底是什麼?你剛剛描述了你打算做的事情。 – domsson

+0

抱歉,剛剛更新了問題 –

回答

1

您需要從邏輯上解決問題並分解您需要解決的步驟。你正盯着一大塊零,這不會有幫助。所以,用僞代碼和一張方便,漂亮的紙片和鉛筆穿過它。

詢問關於手頭較大問題的較小問題。你如何從左下角座標到你想要開始的座標?你如何確定何時停止?我明白我剛剛做了什麼嗎?如果不是我爲什麼不理解它?

嬰兒一步一步,當你學習。花點時間瞭解爲什麼某件事情按照你想要的方式工作或者失敗。做到這一點,你會成爲一個更好的編碼器。