Hallo Leute,
ich das Programmstück das ich gestern gepostet hab, einwenig noch verändert. Jetzt möchte ich diese Rekursion aber iterativ ablaufen lassen . Wie mach ich das? Der Compiler schreit bei meinem Source Code:
ich das Programmstück das ich gestern gepostet hab, einwenig noch verändert. Jetzt möchte ich diese Rekursion aber iterativ ablaufen lassen . Wie mach ich das? Der Compiler schreit bei meinem Source Code:
Code:
#include <iostream.h>
/*
Die rekursive Funktion soll ungerade Ziffern der Matrikelnummer in
umgekehrter Reihenfolge in der diese in der Matrikelnummer auftreten ausgeben.
Eine ungerade Ziffer darf nicht ausgegeben werden, falls bereits eine größere ungerade Ziffer ausgegeben wurde.
*/
/*void f_rek(int matrnr, int max_zif) {
int matr=matrnr%10;
if(matrnr!=0) {
if(matrnr%2) {
if(matr > max_zif) {
max_zif=matr;
cout<<matr;
}
}
f_rek(matrnr/10, max_zif);
}
}*/
int main () {
f_rek(102820,0);
return 0;
}
void f_rek(int matrnr, int max_zif) {
int matr = matrnr%10;
while(matrnr) {
if(matrnr%2 && matr>max_zif) {
cout<<matr;
} else return;
matrnr/=10;
matr=matrnr%10;
max_zif=matr;
}
}