Forum: PC-Programmierung For-Schleife (Denkfehler?)


von schlauchsteher (Gast)


Lesenswert?

Hi, habe ein einfaches Problem und drehe mich jetzt schon ein bisschen 
im Kreis herum.

Bsp.:
1
int a=10;
2
int i;
3
4
for(i=0; i<=6; i++)
5
{
6
  a--;
7
}
8
  //Lösung
9
  //a = 4
Stimmt die Lösung oder habe ich einen Denkfehler?

von Logiker (Gast)


Lesenswert?

>Stimmt die Lösung oder habe ich einen Denkfehler?

ja

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Wie oft wird die Schleife durchlaufen?

Sieben mal.

Warum? Weil die Schleife sooft durchlaufen wird, wie i kleiner gleich 
6 ist. Und das ist i bei 0, 1, 2 ... 6.


Also ist das Resultat 3, nicht 4.

von schlauchsteher (Gast)


Lesenswert?

das kapiere ich eben nicht.

i 0 1 2 3 4 5 6 --> fertig

a 9 8 7 6 5 4

von (prx) A. K. (prx)


Lesenswert?

Die Schleife wird 7mal durchlaufen und zieht jedesmal 1 von a ab. Wenn 
du da von 10 ausgehend auf 4 kommst, dann solltest du nochmal mit der 
Grundschule ganz von vorne anfangen.

von Lasse S. (cowz) Benutzerseite


Lesenswert?

Wenn i == 6 ist, dann läuft die Schleife weiter.

Sprich:
i 0 1 2 3 4 5 6 7 --> fertig

a 9 8 7 6 5 4 3

von schlauchsteher (Gast)


Lesenswert?

ok, es heißt also solange i kleiner oder gleich 6 ist, wird die Schleife 
ausgeführt. Erst wenn i 7 ist wird sie beendet.


dann wäre also

[c]int a=10;
int i;

for(i=0; i!=6; i++)
{
  a--;
}
  //Lösung
  //a = 4[/]


Solange i nicht gleich 6 ist wird die schleife ausgeführt

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Üblich ist es, statt eines kleiner gleich - Vergleiches einen 
kleiner-als - Vergleich zu verwenden:
1
int a = 10;
2
int i;
3
4
for (i = 0; i < 6; i++)
5
{
6
  a--;
7
}

von sdfgererwg (Gast)


Lesenswert?

1
ok, es heißt also solange i kleiner oder gleich 6 ist, wird die Schleife
2
ausgeführt. Erst wenn i 7 ist wird sie beendet.
1
ok, es heißt also solange i kleiner oder gleich 6 ist, wird die Schleife
2
ausgeführt. Erst wenn i 7 ist wird der Schleifenrumpf nicht mehr betreten.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.