Fakultät in einer Schleife programmieren
Frage: Fakultät in einer Schleife programmieren(14 Antworten)
Ich sitz` seit heute morgen in der Schule an die Fakultät dran. Wir müssen im Fach Programmieren das Programm dazubringen die Fakultät direkt anzuzeigen und zwar mit einer for schleife. Ich komm einfach nicht mehr weiter. Wir Programmieren mit C Ich komm einfach nicht weiter und mein Programm zeigt mir dann irgend ein Fehler an, wenn ich etwas in die Schleife schreibe... Ich hoffe mir kann jemand helfen |
Frage von datina (ehem. Mitglied) | am 21.10.2008 - 18:15 |
Antwort von GAST | 21.10.2008 - 19:45 |
zeig |
Antwort von datina (ehem. Mitglied) | 21.10.2008 - 21:20 |
/*Fakultaet von Zahlen*/ #include <stdio.h> main() { int x,y,z,a; printf("ntProgramm zur Berechnung der Fakultaet einer Zahln"); printf("t------------------------------------------------nn"); printf("tGeben Sie die Zahl 10 <Zahl <= 10> ein, deren Fakultaet berechnet werden soll: "); scanf("%i",&x); for (x=0; x<=1; x=x+1) { } printf("nnt Fakultaet der Zahl %i = %inn",x,a); } ---------------------------------------------- ich weiß nur nicht was ich in der Schleife schreiben soll... also die Rechnung. alles was ich bisher ausprobiert habe funktioniert nicht |
Antwort von GAST | 21.10.2008 - 21:36 |
Was eine Fakultaet ist ist dir denk ich mal klar? Bsp Fakultaet von 4 1*2*3*4 Rechnest 1*2. Das Ergebnis davon wird *3 genommen. Wiederum das Ergebnis * 4 usw.....Immer das Ergebnis * die nächst ganze Zahl. Fällt dir da kein Algorythmus ein? |
Antwort von GAST | 21.10.2008 - 21:46 |
ich frag mich grad ob die Bedingung in deiner Schleife so korrekt ist. wenn du die schleife nur bis x<=1 laufen lässt, dann stoppt die schleife nach dem ersten Durchlauf, denn x wird ja um eins erhöht: von 0 auf 1. allerdings kann ich dir grad auch keine richtige Bedingung sagen. der Schleifenrumpf berechnet immer die vorige variable mal der variable+1. variable ist am anfang 1 und steigt immer höher bis zur gewählten Fakultät. viel glück |
Antwort von GAST | 21.10.2008 - 21:51 |
das kannste sogar mit ner while schleife lösen Zitat: |
Antwort von GAST | 21.10.2008 - 22:09 |
"while(--n)" --> Bedingung? |
Antwort von GAST | 21.10.2008 - 22:15 |
ja das is n kleiner trick in C while(x) hießt while(x != 0) und "unsigned long long int" ist wohl besser geeignet (größere fakultäten möglich) -------------------------------------- unsigned long long n,produkt=1; scanf("%llu",&n); do{ produkt*=n; }while(--n); printf("%llun",produkt); |
Antwort von datina (ehem. Mitglied) | 22.10.2008 - 15:46 |
ja das funktioniert danke, aber 1. versteh ich die Rechnung davon nicht, weil wenn ich das so mache, muss ich das auch erklären können... 2. wir MÜSSEN das mit der for schleife machen... muss ich vielleicht zahl<=10 eingeben anstatt x<=1 ? weil das steht ja sozusagen auch in der aufgabe... aber mien hauptproblem liegt ja nur bei der rechnung wie ich das schreiben muss bzw rechnen... |
Antwort von GAST | 22.10.2008 - 15:55 |
du hast irgendeine laufvariable, die von 1 bis n läuft. bis dieser wert n erreicht ist, wird p auf p*i gesetzt. (beginnend bei p=1) so erhälst du für 4 z.b.: p:=1*1=1. (i=1) p:=1*2=2 (i=2) p:=2*3=6 (i=3) p:=6*4=24 (i=4) n=4 wurde erreicht, also wird der wert ausgegeben. |
Antwort von GAST | 22.10.2008 - 19:24 |
jo ich hatte mal (aus spaß) versucht einen möglichst kurzen code zu schreiben hier mal ne einfachere variante ----------------------------------- unsigned long long int n,i,produkt=1; scanf("Argument: %llu ",&n); for(i=1;i<=n;i++) { produkt = produkt * i; // oder // produkt *= i; // ist das selbe } printf("%llu ! = %llu",n,produkt); ----------------------------- wenn du noch fragen hast, dann FRAG ! |
Antwort von GAST | 22.10.2008 - 19:32 |
aber schön dass hier mal nach einer "vernümftigen" sprache gefragt wird. nicht nur so zeugs wie Delphi, Pascal oder (Visual) Basic *WÜRG* |
Antwort von datina (ehem. Mitglied) | 23.10.2008 - 10:51 |
^^ ja jetzt funktioniert es.... hab die schleife jetzt so gemacht: for(i=1;i<=n;i++) { produkt = produkt * i; } nur was bedeutet das i++ ? den rest versteh ich ja nur nicht mehr |
Antwort von GAST | 23.10.2008 - 10:58 |
wird um 1 hochgezählt |
Antwort von datina (ehem. Mitglied) | 23.10.2008 - 11:09 |
ahh ok dankööööö... dann kann ich den thread ja schließen |
37 ähnliche Fragen im Forum:
> Du befindest dich hier: Support-Forum - Informatik- C# Fakultäts rechnung (15 Antworten)
- Java (1 Antworten)
- Problemlösung Php: Programmieren (0 Antworten)
- Paketshop programmieren (2 Antworten)
- Eine Arztpraxis programmieren mit ADT Queue (Java) (9 Antworten)
- Programmieren mit Visual Studio: Videos oder DVD zum Lernen (2 Antworten)
- mehr ...
ÄHNLICHE FRAGEN:
- C# Fakultäts rechnungHallo ich Arbeite grade an einer C# form anwendung zur fakultäts rechnung (fakultät 5= 120) diese läuft auch nun wollte ich ..
- JavaHallo Leute! Ich muss bei Java eine Umfrage programmieren und es muss mir nachher den Durschnitt angeben. Ich dachte an eine ..
- Problemlösung Php: ProgrammierenHallo ich habe ein kleines Problem beim programmieren in Php und komme nicht weiter.https://i.imgur.com/RWxVR5C.jpghttps://i...
- Paketshop programmierenHey, ich bin relativ neu hier und habe wenig Erfahrung mit dem Fach Informatik. In der Schule sollen wir nun einen Paketshop mit..
- Eine Arztpraxis programmieren mit ADT Queue (Java)Hallo :) , ich habe folgendes Problem. Und zwar muss ich ein Programm programmieren das so ähnlich abläuft, wie eine Arztpraxis..
- Programmieren mit Visual Studio: Videos oder DVD zum LernenHi, kennt sich jemand mit Visual Studio aus Gibt es zu den programmieren DVD/VIdeo zum Lernen Wie man z.B. ein "..
- mehr ...
BELIEBTE DOWNLOADS:
- Übersicht von HTML BefehlenIn diesem Dokument habe ich ein paar HTML-Befehle zusammengestellt für die Textauszeichnung und Tabellen.
- Tutorial: Programmieren in LOGODie Datei im EXCEL-Format gibt eine gute Einführung in das Programm MSWLogo mit Befehlsübersicht, Beispielen und Übungsaufgaben..
- Templates in C++Klassen mit Templates in der Programmiersprache c++ erstellen und verwenden.
- Referenztypen u. Operatoren in C++Programmiersprache C++, z.B. das überladen eines Operators. => s. LK IF Klausuren 12.1/12.2
- Der abstrakter Datentyp LISTE (C++)C++, der abstrakte Datentyp LISTE. Erläuterung, gut für LK IF Klausuren 12.1/12.2 (einfach verkettete Liste)
- SQL - Structured Query LanguageIn diesem Referat gehe ich genau auf die Programmiersprache SQL ein. Hierbei werden folgende Punkte berücksichtigt: 1. ..
- mehr ...