000
28.06.2007, 11:56 Uhr
Linx
|
Hallo Leute, habe noch Probleme wie ich eine rekursive Funktion schreibe. Ich weiss, dass eine rekursive Lösung nicht immer besser ist, ich will es aber nur üben. Jetzt will ich eine Funktion schreiben, das eine Zahl und eine Ziffer einliest und dann ausgibt wie oft die Ziffer in der Zahl vorkommt. hier erstmal die iterative Version (die funktioniert!)
C++: |
#include <stdio.h>
int ziffer_zaehlen(int zahl, int ziffer){ int k, zaehler=0;
while (zahl>=10) { k=zahl-((zahl/10)*10); if (k==ziffer) zaehler++; zahl=zahl/10; } if (zahl==ziffer) zaehler++; return zaehler; }
void main(void){ int zahl, ziffer, ergebnis; printf("Bitte eine Zahl eingeben:\n"); scanf("%d",&zahl); printf("Welche Ziffer soll gesucht werden:\n"); scanf("%d",&ziffer); ergebnis=ziffer_zaehlen(zahl,ziffer); printf("%d\n",ergebnis); return 0; }
|
ich weiss echt nicht, wie man die Funktion jetzt rekursiv schreiben könnte... kann mir bitte jemand helfen, theoretisch dürfte es nicht schwierig sein oder? Gibt es irgendwelche Tricks beim umschreiben Iterativ <-> Rekursiv?
Gruß Linx Dieser Post wurde am 28.06.2007 um 11:58 Uhr von Linx editiert. |