Aggregatfunktion der Ziffern -Hilfe
-
Hallo, ich soll als Aufgabe ein Programm schreiben, das eine ganze Zahl einliest und eine Aggregatfunktion der Ziffern der Zahl bestimmt, die folgendermaßen definiert ist: Die Ziffern werden von rechts nach links durchlaufen. Gerade Ziffern werden zum Ergebnis addiert. Ungerade Ziffern werden zum Ergebnis multipliziert. Startwert ist 0 oder 1, je nachdem ob die Ziffer gerade oder ungerade ist.
Bsp: Eingabe 7236143 Ausgabe 287
Ich habe dieses Programm zusammengestellt
#include<iostream>
using namespace std;int main(){
int zahl;
cout << "Bitte geben Sie eine ganze Zahl ein: " << '\n';
cin >> zahl;int i = zahl;
int ergebnis;for (;i<10;i=i%10){
if ( i%2== 0){
ergebnis +=i;
}
else{
ergebnis *=i;
}
}cout << "Das Ergebnis: " << ergebnis << '\n';
return 0;
}und es liefert mir egal welche Zahl ich eingebe, immer wieder 2686568
Vielen, vielen Dank im Voraus!!!
-
Ergebnis ist nicht initialisiert.
Benutze einen Debugger und verfolge die Berechnung.