C++ falsche ausgabe, karten


  • Mod

    Boolshit schrieb:

    Btw: deine for Schleifen zählen pre-increment hoch!
    D.h. ++i ist beim 1. Durchgang nicht 0, sondern schon 1, da erst hochgezählt und dann ausgewertet wird.
    i++ würde erst i auswerten und dann hochzählen.

    Wenn man das berücksichtigt erklärt sich der Offset 😉

    Quatsch.
    for(A; B; C) D; ist nichts anderes als

    {
      A;
      while(B)
      {
        D;
        C;
      }
    }
    


  • Japp, sorry. Da hat sich was im Hirn verklemmt...



  • SeppJ schrieb:

    for(A; B; C) D; ist nichts anderes als

    {
      A;
      while(B)
      {
        D;
        C;
      }
    }
    

    Gegenbeispiele:
    - A="int i=0;", B="int i=0;" => geht mit while aber nicht mit for
    - D="continue;" => C wird nicht ausgeführt
    - C="int i=0;" => geht nicht in for


  • Mod

    paragraphenscheisser schrieb:

    SeppJ schrieb:

    for(A; B; C) D; ist nichts anderes als

    {
      A;
      while(B)
      {
        D;
        C;
      }
    }
    

    Gegenbeispiele:
    - A="int i=0;", B="int i=0;" => geht mit while aber nicht mit for
    - D="continue;" => C wird nicht ausgeführt
    - C="int i=0;" => geht nicht in for

    Der mit continue ist gut, aber die anderen: Logikfehler deinerseits. Dackel und Hunde sollte man schon unterschieden können, wenn man Klugscheißen möchte. Da steht nicht "while... ist das gleiche wie for...", da steht "for... ist das gleiche wie while...".



  • ...



  • SeppJ schrieb:

    Da steht nicht "while... ist das gleiche wie for...", da steht "for... ist das gleiche wie while...".

    "ist das gleiche wie" ist das gleiche wie "ist äquivalent zu" und das schliesst die Rückführung mit ein.


  • Mod

    - A="int i=0;", B="int i=0;" => geht mit while aber nicht mit for

    Natürlich geht das mit for . Warum denn auch nicht 😕

    Ich frage mich auch, wieso SeppJ das nicht gesagt hat.

    paragraphenscheisser schrieb:

    SeppJ schrieb:

    Da steht nicht "while... ist das gleiche wie for...", da steht "for... ist das gleiche wie while...".

    "ist das gleiche wie" ist das gleiche wie "ist äquivalent zu" und das schliesst die Rückführung mit ein.

    Nope



  • Arcoth schrieb:

    - A="int i=0;", B="int i=0;" => geht mit while aber nicht mit for

    Natürlich geht das mit for . Warum denn auch nicht 😕

    Weil dann beide in der gleichen identischen declarative-region sind?


  • Mod

    Arcoth schrieb:

    Ich frage mich auch, wieso SeppJ das nicht gesagt hat.

    So genau hatte ich mir die Rückführungsfalle gar nicht angesehen, da irrelevante Trollerei. Der interessante Fall ist das continue. Das Ergebnis ist nicht mehr schön, wenn man das noch beachtet. Verschachtelte Schleifen oder if-do-while mit Kommaoperator fielen mir da ein.


  • Mod

    paragraphenscheisser schrieb:

    Arcoth schrieb:

    - A="int i=0;", B="int i=0;" => geht mit while aber nicht mit for

    Natürlich geht das mit for . Warum denn auch nicht 😕

    Weil dann beide in der gleichen identischen declarative-region sind?

    Achso. Gleicher Name. <°)))o>< )



  • warum kein

    enum [class] Cards {...};
    

    ?


Anmelden zum Antworten