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.


Anmelden zum Antworten