for-Schleife Denkfehler
-
Hi,
ich habe wohl irgendwo einen Denkfehler, zumindest taucht schon mal kein Fehler beim Compilen auf.for (i = 0; i <= 6; i++) { cout << lineu[i]; cout << endl; for (i = 0; i <= 6; i++) { cout << linep[i]; cout << endl; } }1. Diese Schleife wird nur ein mal ausgefuehrt also die 1. for-Schleife (es wird nur der erste Eintrag ausgegeben)
2. Alles was nach dieser vorschleife kommt wird ignoriert und noch viel mehr, das Programm wird einfach verlassen.Eigentlich sollte das so aussehen:
lineu[0] -linep[0] -linep[1] -linep[2] -linep[3] -linep[4] -linep[5] lineu[1] -linep[0] -linep[1] -linep[2] -linep[3] -linep[4] -linep[5] usw.Sieht jedoch so aus, und verlaesst das Programm dann:
lineu[0] -linep[0] -linep[1] -linep[2] -linep[3] -linep[4] -linep[5]Ich denke mal der Fehler liegt beim erhoehen mit i++ aber irgendwie bekomme ich es nicht hin.
habe es auch mal mit net While-Schleife probiert und da kam genau das Selbe raus.
MfG
Coda
-
ist linep bzw. lineu ein array oder text?
wenn text => std::cout << "linep[" << i << "]" << endl
und das gleiche mit lineu

-
for (int j = 0; j <= 6; j++) { cout << lineu[i]; cout << endl; for (int k = 0; k <= 6; k++) { cout << linep[i]; cout << endl; } }Du hattest 2x die gleiche Zählvariable.
-
Verwende für eine der beiden Schleifen anstatt i z.B. j
for (i = 0; i <= 6; i++) { cout << lineu[i]; cout << endl; for (j = 0; j <= 6; j++) { cout << linep[i]; cout << endl; } }Dann sollte es funktionieren.
€dit: Zu langsam

-
Verwende für eine der beiden Schleifen anstatt i z.B. j
for (i = 0; i <= 6; i++) { cout << lineu[i]; cout << endl; for (j = 0; j <= 6; j++) { cout << linep[i]; cout << endl; } }Dann sollte es funktionieren.
ich dachte er zieht immer die lokalste variable heran?
-
Jo, aber dann musst du i auch erst in der for schleife deklarieren.
for (int i = 0; i <= 6; i++) { cout << lineu[i]; cout << endl; for (int i = 0; i <= 6; i++) { cout << linep[i]; cout << endl; } }Anders ist es ja immer die gleiche Variable. (ob das jetzt wirklich geht weisz ich nun zwar auch nicht ganz sicher, sollte aber... icg verwende einfach immer verschiedene Variablen.)
-
Shinja schrieb:
Jo, aber dann musst du i auch erst in der for schleife deklarieren.
for (int i = 0; i <= 6; i++) { cout << lineu[i]; cout << endl; for (int i = 0; i <= 6; i++) { cout << linep[i]; cout << endl; } }Anders ist es ja immer die gleiche Variable. (ob das jetzt wirklich geht weisz ich nun zwar auch nicht ganz sicher, sollte aber... icg verwende einfach immer verschiedene Variablen.)
da hab ich mich wohl verlesen dachte das hat er gemacht!
-
Ohh...
Dumme Fehler.
1. 2* i benutzt und vergessen es neu zu deklarieren
2. konnte man hier nicht sehen, der Array ist [6] aber habe nicht mehr daran gedacht das ich dann nur noch bis 5 erhoehen darf.Danke fuer die schnelle Hilfe.
MfG
Coda