hilfe bei schleife



  • Hallo,

    ich bin neu und überlege jetzt schon lange wie man die folgenden beiden schleifen verschmelzen könnte ohne eine if-abfrage reinzubringen:

    //k ist z.B 3
    
    int k = 3;
    
    for(int i = -k; i < 0; i++)
     //do foo()
    
    for (int i = 1; i < k; i++)
      // do foo()
    
    //for i == 0;
    do bar();
    


  • also so wie ich das verstanden habe willst du 2 bedingungen in eine abfrage tun, das geht glaub ich net mit vorschleifen, mit if schleifn:
    if (bedingung1 && bedingung2)

    mfg



  • Wo liegt der Sinn darin es ohne if zu machen?
    Das wäre eine Möglichkeit:

    int k = 3;
    for(int i = -k; i < k; i=(i==-1) ? 1 : (i+1))
         do_foo();
    

    @gnomecoder
    Was für Dinger vorschleifen, if-Schleife 😕



  • n00bi schrieb:

    Hallo,

    ich bin neu und überlege jetzt schon lange wie man die folgenden beiden schleifen verschmelzen könnte ohne eine if-abfrage reinzubringen:
    [snip]

    gar nicht. wozu auch? wenn man die schleifen so sauber voneinander trennen kann, ist das die beste lösung.



  • ich dachte evtl. um code "zu sparen" - vielleicht wäre es leserlicher? Hmm wohl ansichtssache....



  • Ich würde sagen, das kommt auch darauf an, wie groß der Inhalt der for-Schleifen ist. Also wenn viel drin ist, würde ich es der Leserlichkeit wegen in eine Funktion auslagern oder eben nur _eine_ Schleife benutzen. Wenn es nur ein oder zwei Zeilen sind, spricht nix gegen die zwei Schleifen 🙂


Anmelden zum Antworten