Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: Problem mit for-Schleife Kategorie: Programmierung (von André H. - 24.02.2003 8:53)
Als Antwort auf Problem mit for-Schleife von ToM - 24.02.2003 8:16

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 >= 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 - 1
}

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 - 1
}

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];
>  }
> }


Antworten bitte nur ins Forum!
Fragen per EMail auf Forum-Postings werden nicht beantwortet!

Das macht meine Heizung gerade


    Antwort schreiben


Antworten:

Re: Problem mit for-Schleife (von ToM - 24.02.2003 10:24)