need help plz!
-
hi,
ich muss für die schule ein programm mit dem borland builder in c++ schreiben und ich habe schwierigkeiten dabei. Das Problem ist dass ich die taylorformel irgendwie da reinbringen soll und ich hab keine ahnung wie, besser gesagt weiß ich nicht wie man die [Fakultät] sprich "!" einbinden kann. hoffe dass mir einer helfen kann!
danke im voraus
mfg

-
Hallo
Und wo ist dein Quellcode? Wir machen hier nicht deineHausaufgaben.
Der Operator ! ist in C++ nicht die Fakultät. Das must du selber aus Schleifen und Multiplikationen zusammensetzen.bis bald
akari
-
4 Sekunden bei Wikipedia:
http://de.wikipedia.org/wiki/Fakult%C3%A4t_%28Mathematik%29
-
#include <iostream> #include <conio.h> using namespace std; int Faculty(int k,int n,int o,int p); int main() { int loesung; int n; int k; int o; int p; cout << "Fakultaet von: "; loesung=Faculty(k,n,o,p); cout << endl << "!" << n << " = " << loesung; getch(); } int Faculty (int k,int n,int o,int p) { cin >> n; do {k=n*--n;} while(false); while(n>0) { o=k*--n; k=o; } return o; }Hab das mal probiert aber es geht nicht .. jedesmal kommt "!256 = 0", egal was ich für n einsetzte..
-
Dieser Thread wurde von Moderator/in akari aus dem Forum VCL/CLX (Borland C++ Builder) in das Forum C++ verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
mulo schrieb:
[...] do {k=n*--n;} while(false); [...]*lol* --> ioccc!?
#include <iostream> unsigned long faculty( unsigned long value ) { if( !value ) { return 1; } return value * faculty( value - 1 ); } int main( ) { std::cout << faculty( 3 ) << std::endl; }Funktioniert natürlich nur für den Wertebereich eines unsigned long's (Ergebnis).
greetz, Swordfish
-
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 //etcn=4 cout << n-- << "\n" // n-> 4, n wird ausgegeben und cout << n-- << "\n" // n-> 3, erst dann dekrementiert //etcedit: 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*4oder 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!?