Habs mir kurz angesehen... also, du willst eine Funktion, die bei zwei Eingabe-Parametern x und y das Ergebnis "x hoch y" bzw. "x zur Potenz y" zurückgibt, so hast du zwei Möglichkeiten, diese Funktion zu bewerkstelligen:
Wie du weisst, bedeutet "zur Potenz y", dass du den Wert y mal mit sich selbst multiplizierst, x zur Potenz 2 ist soviel wie x * x. Der erste logische Ansatz wäre dabei der iterative
Logisch, ich lasse die Funktion den Wert solange mit sich selbst mal nehmen, solange es die Funktion verlangt.
Beim rekursiven Ansatz hingegen brauche ich zwei Dinge: Den rekursiven Aufruf, und eine Abbruchbedingung.
Die Abbruchbedingung ist auch klar: Ich möchte y mal x mit sich selbst produzieren, also zähle ich von y einfach runter bis 0. Ist y also 0, gebe ich einfach x zurück, ansonsten rufe ich die Funktion nochmal auf, kennzeichne allerdings, dass ich bereits einmal in der Funktion war (zähle also von y eins herunter...). Das ganze sieht dann so aus:
Eleganter, aber weit langsamer, und für derartige Mickymausaufgaben auch nicht wirklich nötig (Fehler vorbehalten, kann natürlich sein, dass y == 1 sein muss, bzw. die Bedingung im iterativen Teil i <= y sein muss, aber das sollst du einfach selbst ausprobieren).
Danke, kann ich's endlich ^^
Ach ja, da wäre noch was:
Kann mir mal jemand erklären wozu man Zeiger und das ganze drum rum im praktischen gebrauchen kann, z.B. in Spielen(Jaja, ich will Spieleprogger werden ^^)
Danke, kann ich's endlich ^^
Ach ja, da wäre noch was:
Kann mir mal jemand erklären wozu man Zeiger und das ganze drum rum im praktischen gebrauchen kann, z.B. in Spielen(Jaja, ich will Spieleprogger werden ^^)
...
In C brauch ichs eigentlich immer. Da es mit dem dynamischen Speicheranlegen ja nicht soweit her ist als etwa bei Java (oder jeder anderen Programmiersprache, iirc) brauchst du einfach Zeiger, um ein Array (oder was auch immer) dynamisch anzulegen. Ich hab ehrlich gesagt noch keine einzige (sinnvolle) C-Applikation geschrieben, in der ich komplett ohne Zeiger ausgekommen bin, und seis einfach nur **argv an glut weiterzuleiten...