(C++) prüfungsfrage c++



  • hallo,
    ich hoffe hier kann mir jemand bei meinem kleinen problem helfen.
    in dem unteren Programm zur Fakultätsberechnung sollen Asserts(Zusicherungen) so
    eingefügt werden damit der Maximale Zahlendarstellungsbereich (definiert in
    limits.h mit ULONG_MAX) bei der Berechnung nicht überschritten wird!

    (ist eine ehemalige prüfungsaufgabe für info.)

    gruß
    step81 der am verzweifeln ist...

    #include<stdio.h>
    #include<limits.h>
    #include<assert.h>
    
    unsigned long int Fakul (unsigned int n)
    {
      unsigned long int ergebnis;
    
      ergebnis = 1;
      while (n > 1)
      {
       ergebnis *= n--;
      }
    
      return(ergebnis);
    }
    
    int main (void)
    {
     unsigned int wert;
     for(wert = 1; wert < 20; wert++)
     {
       printf("\n%u! = %lu ", wert, Fakul(wert));
     }
     return(0);
    }
    

    [ Dieser Beitrag wurde am 02.02.2003 um 14:21 Uhr von Jansen editiert. ]



    1. Bitte die Code-Tags benutzen.
    2. Was ist die eigentliche Frage?
    3. Verschoben nach "C++".

Anmelden zum Antworten