Einfaches Programm...
-
Hallo Leute!
Quäle mich grad mal wieder mit programmieren..
Mein Problem... Das Programm gibt zwar korrekte Position und Wert der groessten Zahl ein, aber nicht wieviele Zahlen insgesamt eingegeben wurden....
Was mach ich falsch??
VIelen Dank für Tips und Anregungen im voraus...
#include <iostream> using namespace std; int main() { int groesste_zahl = 0; int zaehler = 0; int zahl = 0; int stelle; do { cout << "Geben Sie eine Zahl ein: " << endl; cin >> zahl; if (zahl >= groesste_zahl) { groesste_zahl = zahl; stelle = zaehler; ++zaehler; } } while (zahl != 0); cout << "Die groesste Zahl ist: " << groesste_zahl << "und ist an Position: " << stelle << endl; cout << "Insgesamt wurden: " << zaehler << " Zahlen eingegeben " << endl; }
-
Hallo
weil du zaehler zweimal pro Eingabe erhöhst, wenn die Eingabe größer als die bisherigen ist.
bis bald
akari
-
Der 2. Zähler war Tippfehler...
Trotzdem ist die groesste Zahl an der falschen Position
-
Jetzt inkrementierst du zaehler nur, wenn die eingegebene Zahl größer ist als groesste_zahl. So sollte es funktionieren:
#include <iostream> using namespace std; int main() { int groesste_zahl = 0; int zaehler = 0; int zahl = 0; int stelle; do { cout << "Geben Sie eine Zahl ein: " << endl; cin >> zahl; ++zaehler; if (zahl >= groesste_zahl) { groesste_zahl = zahl; stelle = zaehler; } } while (zahl != 0); cout << "Die groesste Zahl ist: " << groesste_zahl << "und ist an Position: " << stelle << endl; cout << "Insgesamt wurden: " << zaehler << " Zahlen eingegeben " << endl; }
-
du musst den zaehler ned innerhalb des if blocks ,sondern ausserhalb erhoehen...