[SOLVED] unsigned int runterzählen??



  • Dravere schrieb:

    Und wieso machst du nicht einfach folgendes:

    for(unsigned int ui = /* Startwert */; ui > 0; --ui)
    {
        /* irgendetwas am besten eine Funktion */
    }
    
    /* Nochmals was für die Null */
    

    Grüssli

    Weil mir das noch unschöner als diese Behelfslösung vorkommt:

    unsigned j=1000;
            while(true)
            {
                j--;
                /*genialitäten*/
                if(!j) break;
            };
    

    Ich dachte halt dass "man" das irgendwie eleganter macht...

    //Edit: Ty@all


  • Administrator

    Naja, du könntest auch das folgende machen:

    unsigned int ui /* Startwert */;
    
    do
    {
        --ui;
        // Mach etwas.
    }
    while(ui != 0);
    

    Allerdings fehlt dir dann am oberen Rand eine Zahl. Müsstest also Code vorher ausführen, anstatt bei mir erst danach.

    Grüssli



  • confussball schrieb:

    while (i --> 0)
    {
    }
    

    … Wow. 😉 Irreführende, aber dann auch wieder erstaunlich angebrachte Juxtaposition.



  • Besser:

    unsigned i = WERT;
    do {
    // blubb
    } while (i --> 0);
    


  • Dravere schrieb:

    Naja, du könntest auch das folgende machen:

    unsigned int ui /* Startwert */;
    
    do
    {
        --ui;
        // Mach etwas.
    }
    while(ui != 0);
    

    Allerdings fehlt dir dann am oberen Rand eine Zahl. Müsstest also Code vorher ausführen, anstatt bei mir erst danach.

    Grüssli

    Ah danke, das sieht bis jetzt am besten aus... Jedoch muss man wohl startwert+1 machen da sonst wieder die 0 nicht dabei ist wenn man vor dem dekrimieren "was macht"



  • Konrad Rudolph schrieb:

    confussball schrieb:

    while (i --> 0)
    {
    }
    

    … Wow. 😉 Irreführende, aber dann auch wieder erstaunlich angebrachte Juxtaposition.

    Ah! Juxtraposition!!! Nice 😃 ui-- > 0 Jetzt verstehe ich ^^ Dann nehm ich wohl das!!!



  • for(unsigned i=start; i --> 0;)
    {
    }
    

    Ich glaub mehr ist nicht rauszuholen 😃 Tyvm! 🤡



  • Juxtraposition? -->??
    *Tuut tuut* bahnhof



  • Nabend,

    Quellcode schrieb:

    Juxtraposition? -->??
    *Tuut tuut* bahnhof

    http://de.wikipedia.org/wiki/Juxtaposition

    gruss
    v R


  • Administrator

    Quellcode schrieb:

    Juxtraposition? -->??
    *Tuut tuut* bahnhof

    Schaust du hier.

    Grüssli



  • Oh...
    Da hab ich shcon jahre lang juxtapositioniert und wusste es gar nicht...

    Aber, wie ist das zu verstehen in c++ i liegt nahe bei 0 ist es aber dennoch nicht?

    in der for schleife hieße es ja dann:

    für i=start bis i sowas-ähnliches-dennoch-nicht-dasselbe-wie 0 mache...

    Wann hört er denn da auf, und wann steht fest dass i "sowas-ähnliches-dennoch-nicht-dasselbe-wie" 0 ist



  • Quellcode schrieb:

    Oh...
    Da hab ich shcon jahre lang juxtapositioniert und wusste es gar nicht...

    Aber, wie ist das zu verstehen in c++ i liegt nahe bei 0 ist es aber dennoch nicht?

    in der for schleife hieße es ja dann:

    für i=start bis i sowas-ähnliches-dennoch-nicht-dasselbe-wie 0 mache...

    Wann hört er denn da auf, und wann steht fest dass i "sowas-ähnliches-dennoch-nicht-dasselbe-wie" 0 ist

    Ich versteh nicht, was du meinst. Dort steht "i-- > 0". Sobald i gleich 0 ist,
    wird die Schleife beendet.

    gruss
    v R



  • Quellcode schrieb:

    Oh...
    Da hab ich shcon jahre lang juxtapositioniert und wusste es gar nicht...

    Aber, wie ist das zu verstehen in c++ i liegt nahe bei 0 ist es aber dennoch nicht?

    in der for schleife hieße es ja dann:

    für i=start bis i sowas-ähnliches-dennoch-nicht-dasselbe-wie 0 mache...

    Wann hört er denn da auf, und wann steht fest dass i "sowas-ähnliches-dennoch-nicht-dasselbe-wie" 0 ist

    Damit war wohl eher gemeint dass man das -- von j-- so zum > verschiebt dass das ganze nicht mehr wie i-- > 0 aussieht sondern so eben wie ein Pfeil: i --> 0



  • Da hast du was falsch verstanden.

    Schau das so an:

    for(unsigned i=start; i--    > 0;)
    {
    }
    

    Da wird einfach i mit start gefüllt. Dann i dekrementiet, bis es nicht mehr grösser 0 ist. (Sprich i = 0).



  • Zum Glück überträgt das Internet (noch) keine Gefühle.
    Verdammt, schäm ich mich jetzt.


Anmelden zum Antworten