need help plz!



  • versteh ich überhaupt nicht -.- was bedeutet !value?

    value!=0 oder? und was meinst du mit ioccc?

    mit der zeile wollte ich nur einmalig k den wert von n*(n-1) geben. War mein Ansatz denn so falsch?



  • mulo schrieb:

    versteh ich überhaupt nicht -.- was bedeutet !value?

    In dem Fall eine beschissene Art auf 0 zu testen.

    int Faculty (int k,int n,int o,int p)  // FEHLER: Die fakultät berechnet man aus genau einer zahl, nicht aus 4
    { 
     cin >> n; // FEHLER: Die Fakultät erwartet kein lesen von einem Stream
     do {k=n*--n;} while(false); /// FEHLER: n*--n ist nicht definiert!!!
     while(n>0) 
     { 
      o=k*--n; 
      k=o; 
     } 
     return o; 
    }
    


  • oh gott... oO

    das was ich da machen wollte nennt sich doch dekrementieren, und das ist doch nichts weiter als 1 abzuziehen, und wäre es nich tso richtig

    n=4
    cout << --n << "\n" // -> 3, n wird erst dekrementiert
    cout << --n << "\n" // -> 2, und dann ausgegeben
    //etc
    
    n=4
    cout << n-- << "\n" // n-> 4, n wird ausgegeben und 
    cout << n-- << "\n" // n-> 3, erst dann dekrementiert
    //etc
    

    edit: ne .. hab den unterschied verstanden zwischen --n und n-1, danke



  • Helium schrieb:

    In dem Fall eine beschissene Art auf 0 zu testen.

    Besten dank für die Blumen...

    greetz, Swordfish



  • Jo, aber n*--n...

    nehmen wir an n ist 5:

    erst dekrementieren, dann multiplizieren?
    4*4

    oder vielleicht zuaberhaft eine Kopie von n zwischenspeichern, n dekrementieren und dann multiplizieren?

    5*4

    n*--n ist einfach nicht definiert.



  • Swordfish schrieb:

    Helium schrieb:

    In dem Fall eine beschissene Art auf 0 zu testen.

    Besten dank für die Blumen...

    Er hat aber ein wenig recht. 😉
    Du willst ja nicht testen, ob 'value' nix ist, sondern ob es null ist. Frag mal einen x-beliebigen Mathematiker, der wird Dir heimleuchten, wenn Du ihm unterjubeln willst, dass null nichts ist.



  • Swordfish schrieb:

    Helium schrieb:

    In dem Fall eine beschissene Art auf 0 zu testen.

    Besten dank für die Blumen...

    greetz, Swordfish

    hehe...nimms dir nicht zu herzen die gesamte !value community steht hinter dir 🙂



  • Konrad Rudolph schrieb:

    Swordfish schrieb:

    Helium schrieb:

    In dem Fall eine beschissene Art auf 0 zu testen.

    Besten dank für die Blumen...

    Er hat aber ein wenig recht. 😉
    Du willst ja nicht testen, ob 'value' nix ist, sondern ob es null ist. Frag mal einen x-beliebigen Mathematiker, der wird Dir heimleuchten, wenn Du ihm unterjubeln willst, dass null nichts ist.

    Einzig und allein entscheidend ist - nachdem beide Methoden im Rahmen der Sprache C++ das selbe Ergebnis liefern - wohl die Lesbarkeit. Ich finde, dass beides klar und deutlich ist. Glaubens-/Geschmacks-/Einstellungsfrage...

    greetz, Swordfish



  • Rekursiv, rein intuitiv ( lol ):

    #include<iostream>
    using namespace std;
    
    unsigned long fak( unsigned n )
    {
       if( n==0 ) return 1;
       return n * fak( n - 1 );
    }
    
    int main()
    {
     cout << fak(5);
     return 0;
    }
    

    🙂



  • hmmm vllt auch einfach den Code von Swordfish kopiert!?


Anmelden zum Antworten