2017-03-08 9 views
-1

Ich habe eine Matrix mit 2D-Vektoren erstellt. Der Code, den ich verwendet, istFüllen eines Bereichs einer Matrix mit Zeichen

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; 
} 

Die Ausgabe des obigen Codes ist

enter image description here

Nun, was ich will, ist ein Block der Größe 6x6 in der Matrix mit ‚$‘ oder ein beliebiges Zeichen zu füllen durch Eingabe der unteren linken Position des Blocks. Zum Beispiel, wenn ich den Ort als (10,4) gegeben hätte, würde ich gerne einen Block von $ (Größe 6x6) platzieren, dessen untere linke Koordinaten (10,4) sind.

EDIT-1

ich den Code

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; 
     } 
    } 
} 

und ich habe ich lese die Koordinaten wie die oben links diejenigen die Ausgabe als

enter image description here

hinzugefügt, Was soll ich tun, um die Koordinaten als die unteren links zu lesen und den Block von dort zu bauen?

+2

Was haben Sie bisher versucht? – JGroven

+1

Also, was genau ist deine Frage? Sie haben gerade beschrieben, was Sie vorhaben. – domsson

+0

Entschuldigung, Leute, Just aktualisiert die Frage –

Antwort

1

Sie müssen das Problem logisch angehen und die Schritte, die Sie benötigen, um es zu lösen. Sie starren auf einen großen Block von Nullen und das wird nicht helfen. Geh also mit Pseudo-Code und einem handlichen Dandy-Stück Papier und Bleistift durch.

Stellen Sie kleinere Fragen zu dem größeren Problem. Wie gehst du von der unteren linken Koordinate zu der Koordinate, mit der du beginnen möchtest? Wie bestimmen Sie, wann Sie aufhören sollen? Verstehe ich, was ich gerade getan habe? Wenn nicht, warum verstehe ich es nicht?

Baby Schritt für Schritt, während Sie lernen. Nehmen Sie sich die Zeit zu verstehen, warum etwas so funktioniert hat, wie Sie es wollten oder nicht funktioniert haben. Tun Sie das und Sie werden ein viel besserer Coder dafür sein.

Verwandte Themen