Register for your free account! | Forgot your password?

You last visited: Today at 12:39

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



C++ N!

Discussion on C++ N! within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Apr 2010
Posts: 369
Received Thanks: 40
C++ N!

hey leute
ich versuch grad C++ zu üben desshalb schreib ich ein programm, dass die n! oder n fackultät berechnet.

Hier der code aber iwo liegt ein Fehler nur seh ich ihn nicht....
int main und iostream wurden oben schon definiert und wichtig ist das ich das nicht mit if machen darf...und wie mach ich Code:
[spoiler]

unsigned int n;
std::cin >>n;

unsigned int f = 1;
while (n != 0 && n >= 0)
{ do{
f = f * n;
--n;
}for(n == 0);
break;

} std::cout << f << std::endl;


[\spoiler]
brauch ich die for anweisung überhaupt?
danke und einen schönen abend
blubber6 is offline  
Old 10/10/2013, 00:43   #2
 
elite*gold: 159
Join Date: Jun 2013
Posts: 1,776
Received Thanks: 2,004
Warum so kompliziert?

PHP Code:
long fakultaet(int zahl)
{
    
long fak 1;
    for(
int i 1<= zahli++)
        
fak fak*i;
    return 
fak;

Brendan Jordan is offline  
Old 10/10/2013, 14:56   #3
 
elite*gold: 5
Join Date: Sep 2006
Posts: 385
Received Thanks: 218
Warum nicht zur compile-time?
Nightblizard is offline  
Old 10/10/2013, 16:44   #4


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
Kompiliert dieser Unsinn überhaupt? Oo
MrSm!th is offline  
Old 10/10/2013, 17:48   #5
 
Master674b's Avatar
 
elite*gold: 0
Join Date: Dec 2012
Posts: 255
Received Thanks: 110
Quote:
Originally Posted by MrSm!th View Post
Kompiliert dieser Unsinn überhaupt? Oo
Wieso Unsinn, das macht man i.d.R. so wenn man etwas zur Compilezeit berechnet haben möchte. Kannst über ähnliche Mittel zur Compilezeit Zeichenketten verschlüsseln etc.

Das enum wirkt in dem Fall wie ne constexpr.
Master674b is offline  
Old 10/10/2013, 17:54   #6
 
elite*gold: 0
Join Date: Aug 2012
Posts: 236
Received Thanks: 94
Das ist das Beispiel für TMP... Natürlich kompiliert das.

Zeichenketten zur Kompilierzeit zu verschlüsseln ist aber nicht so einfach, i. Allg. nur mit dem Präprozessor möglich.
Tasiro is offline  
Old 10/10/2013, 18:46   #7
 
elite*gold: 5
Join Date: Sep 2006
Posts: 385
Received Thanks: 218
Quote:
Originally Posted by MrSm!th View Post
Kompiliert dieser Unsinn überhaupt? Oo
Ne, selbstverständlich habe ich ideone gehackt, damit ich bei einem nicht erstellbarem Programm Output faken und hier dann posten kann.
Nightblizard is offline  
Old 10/10/2013, 18:47   #8


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
Wie ihr nun ernsthaft meint, ich kenne keine TMP und meinte mit meinem Post Nightblizzard oO
Quote:
Originally Posted by Master674b View Post
Wieso Unsinn, das macht man i.d.R. so wenn man etwas zur Compilezeit berechnet haben möchte. Kannst über ähnliche Mittel zur Compilezeit Zeichenketten verschlüsseln etc.

Das enum wirkt in dem Fall wie ne constexpr.
Gemeint war natürlich der OP mit seinem Code.

Wobei ich Metaprogrammierung hier für unangebracht halte. Es geht um den Erwerb der Sprache und ihrer Kontrollstrukturen (ggf sogar für die Schule, wenn er etwas von Einschränkungen erzählt) und nicht um die effizienteste Implementation.
Du schießt da mit Kanonen auf Spatzen, Nightblizzard.

Btw. Witzig, wie du einfach mal das Verschlüsseln von Zeichenketten als Beispiel nennst, Master Damit habe ich mich noch kürzlich rumgeschlagen.
MrSm!th is offline  
Old 10/11/2013, 15:55   #9
 
elite*gold: 0
Join Date: Apr 2010
Posts: 369
Received Thanks: 40
Quote:
Originally Posted by MrSm!th View Post
Wie ihr nun ernsthaft meint, ich kenne keine TMP und meinte mit meinem Post Nightblizzard oO


Gemeint war natürlich der OP mit seinem Code.

Wobei ich Metaprogrammierung hier für unangebracht halte. Es geht um den Erwerb der Sprache und ihrer Kontrollstrukturen (ggf sogar für die Schule, wenn er etwas von Einschränkungen erzählt) und nicht um die effizienteste Implementation.

studium es geht ums verständnis von while/if/for schleifen, die ich iwie nicht verstehe...
habs hier noch mit ner for schleife versucht wär geil wenn mir einer erklären könnte warum das so nicht geht und wie for schleifen eigentlich funktionieren...

Code:
unsigned int n;
unsigned int f = 1;
    for(std::cin >> n ; n != 0 && n >= 0; --n );
    f = f * n;

    std::cout << f << std::endl;
blubber6 is offline  
Old 10/11/2013, 17:45   #10
 
.SkyneT.'s Avatar
 
elite*gold: 273
Join Date: Sep 2010
Posts: 1,831
Received Thanks: 786
Quote:
Originally Posted by blubber6 View Post
studium es geht ums verständnis von while/if/for schleifen, die ich iwie nicht verstehe...
habs hier noch mit ner for schleife versucht wär geil wenn mir einer erklären könnte warum das so nicht geht und wie for schleifen eigentlich funktionieren...

Code:
unsigned int n;
unsigned int f = 1;
    for(std::cin >> n ; n != 0 && n >= 0; --n );
    f = f * n;

    std::cout << f << std::endl;
Das Semikolon hinter der For-Schleife ist auf jeden Fall fehl am Platz.
Vom Rest will ich gar nicht erst anfangen.

Ansich gibts zu den Schleifen nicht allzuviel zu sagen,
While verwendest du meistens, wenn du noch nicht weißt
wie viele Durchläufe es geben wird und for, wenn du es weißt.

2 Kleine Beispiele:
Code:
while (bedingung)
{
    //Code
}
Code:
std::string str = "foo";
for(std::string::iterator it = str.begin(); it != str.end(); ++it) 
{
   //Do something with *it
}
Übrigens scheint es mir so als ob dir massenweise Grundlagen fehlen.
.SkyneT. is offline  
Reply




All times are GMT +1. The time now is 12:39.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.