C++ Fakultätsoperator

ich verstehe die frage nicht, was meinst du mit einem operator im programm einfügen? die c++ sprache um einen fakultätsoperator erweitern und somit diese in c++-programm sourcen einfügen?
oder eine funktion bauen, die die fakultät berechnet?
 
Was meinst du damit?

Das Zeichen selbst ("!") als Operatorzeichen?
Das Parsen eines Zeichens aus einem String?
Das Berechnen einer Fakultät im Programm?

Hört sich meiner Mienung nach auch sehr nach Hausaufgabe an, und das wird hier gar nicht gerne gesehen. Details wären daher nett.

EDIT:
@über mir: lol, dafür war ich ausführlicher. :p
 
Code:
(define (fact n)
  (if (= n 1)
      1
      (* n (fact (- n 1)))))
Nur noch nach C++ übersetzen. Sollte nicht so das Problem sein.
 
@asdfman: wenn ich net schon wüsste, wie man mit c ne fakultätsfunktion macht, wär ich kein deut schlauer. was zum henker ist das für ne sprache?

ach während ich's mir so anschaue, das sit ja polnische notation lol
 
Nee das ist keine Hausaufgabe, nur ich wollte ein Programm machen das die Fakultät ausrechnen kann.
Z.B.: 7! = 5 040.
Sowas.
 
Code:
int fakultaet(int zahl)
{
    int ergebnis = 1;
    
    for (int i=2;i<=zahl;i++)
    {
        ergebnis = ergebnis * i;
    }    
    
    return ergebnis;
}
 
Dann sieh nach wie die Fakultät gebildet wird und bastel dir was zusammen. Sowas geht in fünf Sekunden, wenn nicht weniger.
 
dann schreib das doch :rolleyes:. was hat dieses vorhaben mit dem einfügen eines operators in ein programm zu tun? naja wie auch immer...

double fak( double x) {
if(x>=1)
return 1
return fak( x-1);
}


das wäre die rekursive ala asdfman und damit langsame variante (nicht zu empfehlen).
wenn dann sollte man das iterativ programmieren, z.b. mit einer while- oder einer for-schleife. aber das kannst du dir bestimmt selber ausdenken, wie das geht. ;)

edit: mist einer hats schon verraten.
 
Hier die iterative Variante:
Code:
(define (factorial n)
  (fact-iter 1 1 n))

(define (fact-iter product counter max-count)
  (if (> counter max-count)
      product
      (fact-iter (* counter product)
                 (+ counter 1)
                 max-count)))
 
Programmiere ein Taschenrechner Programm, und nun will ich den Fakultätsoperator einfügen.
 
Die Sprache von asdfman ist Lisp - welcher der diversen Dialekte es genau ist, könnte ich zwar nicht erkennen, tippe aber seiner Signatur wegen mal auf Scheme :)
 

Ähnliche Themen

  • Geschlossen
Antworten
3
Aufrufe
921
Antworten
7
Aufrufe
992
Zurück
Top