Zahlen erstellen lassen?



  • Wenn ich jetzt die Schreibtischtest mache, komm ich in der Tat auf

    000
    111
    222
    333
    444
    555
    666
    777
    888
    999
    

    Ich weiß aber nicht wie meine "Denke" falsch ist...



  • Auf die Ergebnisse komme ich aber, wenn ich jedesmal nach dem i=0 und j=0 waren und k<10 j = j + 1 und i = i + 1 überspringe, und nur j = j + 1 rechne, wenn k<10 nicht mehr erfüllt ist. So stimmts doch jetzt...



  • Entschuldige bitte 🤡 ... mein Fehler.
    Ein PAP oder Structogramm könnte dir weiterhelfen, aber dazu bietet die Eingabenmaske hier keine Buttons. Ich versuch es mal bildhaft zu argumentieren:

    int i=0;
    
    // fuehre die Schleife solange aus, wie i kleiner 10
    while(i < 10)
    {
        int j=0;
    
        // fuehre die Schleife solange aus, wie j kleiner 10 
      -> while(j < 10)
     |  {
     |      // j um 1 erhoehen
     |      cout << i << "-" << j << endl;
     |      j++;
      --}
        // i um 1 erhoehen, wenn Schleife davor j >= 10 erreicht hat
        i++;
    }
    

    Ausgabe:

    i  j
    ----
    0  0
    0  1
    0  2
    usw
    1  0
    1  1
    1  2
    usw
    9  0
    9  1
    


  • Danke für deine ausführliche Erklärung. Ich hab's mir jetzt zusätzlich in Visual Studio 2010 mit dem Debugger angesehen. Da sieht man es sehr schön, dass die innerste while-Schleife so lange ausgeführt ist, bis k=10 ist und erst dann zum ersten mal die zweite while-Schleife (von "außen" gesehen; du weißt schon was ich meine... :-)) ausgeführt wird und j = j + 1 gerechnet wird...


Anmelden zum Antworten