Doppelte while Schleife
-
Hallo zusammen,
ich habe ein Problem mit der while-Schleife, und zwar sollten wir ein Programm schreiben, mit dem man die Breite und Länge einliest und das Rechteck mit * zeichnet.
Ich habe folgends Programm geschrieben:
#include<stdio.h>
int main (){int a;//Breite
int b;//Länge
int i=1,j=1;printf("Breite:");
scanf("%i",&a);
printf("laenge:");
scanf("%i",&b);while(j<=a){
while(i<=b){
printf("*");
i=i+1;
}
printf("#\n");
j=j+1;
}return 0;
}Die zweite while-Schleife funktioniert aber nur einmal.
-
Du musst das i wieder auf den Anfangswert zurücksetzen, sonst hat es beim nächsten Durchlauf der äußeren Schleife immer noch den Wert, der zum Abbruch der inneren Schleife geführt hat.
Im Prinzip sind ja alle Schleifen äquivalent, aber für diese Aufgabe böte sich eigentlich eher eine for-Schleife an. Dann wäre auch dieser Fehler nicht passiert.
-
Danke SeppJ für deine schnelle Antwort.
Ich hab nach der Beendigung der zweiten Schleife i=1; gesetzt und es hat funktioniert.