If Else
-
Hallo Leute,
Habe wieder mal ein Problem. Das Programm das ich schreiben soll soll die grösste eingegebene Zahl ausgeben. Das hab ich ja hingekriegt. Aber jetzt soll das Programm auch ausgeben die wievielte Eingabe die grösste Zahl war.
Hier erstmal der Grundriss:
int main() { int zahl1; int zahl2; int zahl3; int zahl4; int zahl5; cout << "Geben Sie eine Zahl ein: "; cin >>zahl1; cout << "Geben Sie eine weitere Zahl ein: "; cin >>zahl2; cout << "Geben Sie eine dritte Zahl ein: "; cin >>zahl3; cout << "Die vierte Zahl bitte: "; cin >>zahl4; cout << "Die fuenfte Zahl bitte: "; cin >>zahl5; int max= zahl1; if (zahl2 > max) { max = zahl2; } if (zahl3 > max) { max = zahl3; } if (zahl4 > max) { max = zahl4; } if (zahl5 > max) { max = zahl5; } cout << "Die groesste Zahl ist: " << max <<endl; }Danke für eure Hilfe

-
Hallo
Du könntst zum Beispiel in deinen if-Zweigen eine Variable belegen, die dir sagt, welche Zhal die grösste ist. Wenn also in ersten if-Zweig gesprungen wird, so setzt du die Variablöe auf 2 und so weiter.
chrische
-
Beispiele wären echt von Vorteil, weil so gut kann ich Programmieren nicht...
Danke
-
Hallo
int iInputZahl1, iInputZahl2; int iWelcheZahl = 1; cout<<"Bitte geben Sie Zhal ein"; cin>>iInputZahl1; cout<<"Bitte geben Sie 2. Zahl ein"; cin>>iInputZhal2; int max = iInputZhal1; if(iInputZahl2 > max) { max = iInputZahl2; iWelcheZahl = 2; } cout<<"Die höchste Zahl lautet "<<max<<" und sie wurde an "<<iWelcheZahl<<". Stelle eingegeben"<<Ich hoffe, dass das klappt, weil ich es nicht getestet habe.
chrische
-
int max = zahl1; int zahl = 1; if (zahl2 > max) { max = zahl2; zahl = 2; } /* .... */ cout << "Die groesste Zahl ist die " << zahl << "te mit dem Wert: " << max << endl;Aber bitte noch selbst zuende denken und verstehen

-
int main() { int zahl1; int zahl2; int zahl3; int zahl4; int zahl5; cout << "Geben Sie eine Zahl ein: "; cin >>zahl1; cout << "Geben Sie eine weitere Zahl ein: "; cin >>zahl2; cout << "Geben Sie eine dritte Zahl ein: "; cin >>zahl3; cout << "Die vierte Zahl bitte: "; cin >>zahl4; cout << "Die fuenfte Zahl bitte: "; cin >>zahl5; typedef map<int, int> Zahlen; Zahlen zahlen; zahlen.insert(Zahlen::value_type(zahl1, 1)); zahlen.insert(Zahlen::value_type(zahl2, 2)); zahlen.insert(Zahlen::value_type(zahl3, 3)); zahlen.insert(Zahlen::value_type(zahl4, 4)); zahlen.insert(Zahlen::value_type(zahl5, 5)); Zahlen::reverse_iterator it = zahlen.rbegin(); cout << "Die groesste Zahl: " << it->first << " wurde an " << it->second << "-ter Stelle eingegeben"; return 0; }

-
const int MAX = 5; int zahlen[MAX]; int maxzahl; int pos; for(int i=0 ; i<MAX ; i++) { cout << "Bitte geben sie Zahl Nummer "<< i << " ein: ";cin >> zahlen[i]; } for(int i=1 ; i<MAX-1 ; i++) { maxzahl = zahlen[0]; if(zahlen[i] > zahlen[i-1] { maxzahl = zahlen[i]; pos = i; } } cout << "Die grösste Zahl: " << maxzahl << " war an Position " << pos << endl; gecth();
-
Also wenn schon effizient, dann richtig, da reicht dann auch eine Schleife
