potenzrechnung
-
hi, ich muss das program leider in meiner form aufschreibn, es soll ein rekursiver algorithmus sein.
Das heißt das z wird solange einfach übernommen bis y<2 ist und danach soll z ein wert zugewiesen werden und rekursiv ausgerechnet werden.Freue mich über Hilfe
-
Abgesehen davon das du garkeine Rekursion machst sind noch andere Denkfehler enthalten. z.B. hat z keinen brauchbaren Initialisierungswert.
Mein Beispiel:
int pot( int x, int y ) { if ( y < 2 ) return x; else return x*pot( x, --y ); }grüße
-
könntest du dann vielleicht ein beispiel für eine rekursion liefern?
-
Mein letztes Beispiel is doch eins!

-
das läuft bei mir so leider nicht :/...was muss ich noch alles schreiben damit c++ es laufen lässt?
danke schon mal für die geduld ^^
-
#include <iostream> int pot( int x, int y ) { if ( y < 2 ) return x; else return x*pot( x, --y ); } int main() { std::cout << pot( 10, 2 ) << std::endl; }grüße
-
hm, bei mir wird das programm sofort abgebrochen ohne das ich was sehe

-
-
Ach du mein Gott... Das is ja wohl wirklich [...]
#include <iostream> int pot( int x, int y ) { if ( y < 2 ) return x; else return x*pot( x, --y ); } int main() { std::cout << pot( 10, 2 ) << std::endl; std::cin.clear(); std::cin.ignore( std::cin.rdbuf()->in_avail() ); std::cin.get(); }
-
Der Vollständigkeit halber noch ne rechtsrekursive Version, obwohl ich nicht glaube, dass das irgendein C++-Compiler inlined:
int pow(int b, int e, int accu = 1) { if (e == 0) return 1; if (e == 1) return b * accu; return pow(b, e - 1, b * accu); }