Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > Hallo André, > > vielen Dank für die schnelle Antwort. > > Ich denkt ich hab das mit der for Schleife > jetzt begriffen, aber wo die 160 in der > Variable Schleife herkommen ist mir > immer noch unklar, denn ich dachte > immer das nach einer Variablendeklaration > > int Variable; > > diese Variable mit 0 initialisiert wird und > nicht mit einem "zufälligen" Wert. > > Aber wenn man weis das dies nicht so > ist kann man's ja umgehen. > > mfg ToM > > > > Hallo ToM, > > > > Das ist kein Problem, sondern ein Fehler im Syntax. > > (Handbuch Seite 85 Bsp. rechts oben mit step -1) > > > > Und zwar muß ein bei negeativem step immer ein Operator dabeistehen: > > > > for Schleife = Anzahl <b>>=</b> 0 step -1 > > > > So kann man das viell. besser erkennen wie das for funzt: > > > > Schleife = 0 > > while Schleife <= Anzahl > > { > > // Anweisungen > > // ... > > Schleife =Schleife +1 > > } > > Das wäre ein for umschrieben mit while. (for schleife=0 ... Anzahl) > > > > Bei der Forschleife mit step -1, wie Du es geschrieben hast, würde > > das so aussehen: > > Schleife = Anzahl > > while Schleife <= 0 > > { > > // Anweisungen > > // ... > > Schleife =Schleife <b>- 1</b> > > } > > > > Hier kann man gut erkennen, was passiert. :-) > > > > Bei der korekten Schreibweise mit step -1 sieht das so aus: (for Schleife=Anzahl ... >= 0 step -1) > > > > Schleife = Anzahl > > while Schleife >= 0 > > { > > // Anweisungen > > // ... > > Schleife =Schleife <b>- 1</b> > > } > > > > Ich hoffe das hilft Dir um zu verstehen, wie "for" funzt. > > > > MfG André H. > > > > > > > > > Hallo zusammen, > > > habe bei folgendem Programm festgestellt, das die Variable > > > Schleife nach dem Aufruf der Funktion immer den Wert 160 > > > (warum auch immer) hat. In der Zeile > > > > > > for Schleife = ... > > > > > > wird zwar die Variable Schleife auf den Wert von AnzahlWerte > > > gesetzt (in diesem Fall 10), dann aber die for Schleife sofort verlassen. > > > > > > Auch das einfügen von > > > > > > Schleife = AnzahlWerte; > > > > > > unmittelbar vor der for-Anweisung hat nichts gebracht. > > > > > > Abhilfe hat erst das umstellen der for-Schleife in > > > > > > for Schleife = 0 ... AnzahlWerte > > > { > > > } > > > > > > gebracht.In diesem Fall war das auch kein Problem. > > > So nun meine Frage: Hat dieses Probleme mit step-1 > > > auch schon ein anderer beobachtet, und hat jemand > > > eine Idee warum das so ist, denn manchmal wäre eine > > > rückwärts laufende Schleife doch eleganter als sie > > > dann intern umzudrehen. > > > > > > mfg ToM > > > > > > --------------------------------------------------------------------------------------------------------------------------------------------------------------- > > > > > > > > > function aussentempmitteln ( int HKNr, int AnzahlWerte ) > > > { > > > int Schleife; > > > int Summe; > > > > > > for Schleife = AnzahlWerte ... 0 step -1 > > > { > > > /* diese Anweisungen wurden nie bearbeitet */ > > > HK[HKNr].AussenTempArray[Schleife] = HK[HKNr].AussenTempArray[Schleife-1]; > > > } > > > } > > > > > > --------------------------------------------------------------------------------------------------------------------------------------------------------------- > > > > > > > > > > > > function aussentempmitteln ( int HKNr, int AnzahlWerte ) > > > { > > > int Schleife; > > > int Summe; > > > > > > for Schleife = 0... AnzahlWerte-1 > > > { > > > /* und so hats prima funktioniert */ > > > HK[HKNr].AussenTempArray[AnzahlWerte-Schleife] = HK[HKNr].AussenTempArray[AnzahlWerte-Schleife-1]; > > > } > > > }