C++ Minmum und Maximum mit nur 3 if abfragen?
Hi, folgende Fragestellung: Lese drei Ganzzahlen über die Tastatureingabe ein, lasse dann den kleinsten sowie größten Wert ausgeben. Verwende maximal 3 if Abfragen.
Hat irgendwer ne Ahnung wie das ungefähr geht? Mit mehr als 3 würde ich es ja hinkriegen aber so?
Ergänzung: Hat jetzt so funktioniert:
#include <iostream>
using namespace std;
int main(){
float z1, z2, z3, Max, Min;
cout<<"Erste Zahl: ";
cin>>z1;
cout<<"Zweite Zahl: ";
cin>>z2;
cout<<"Dritte Zahl: ";
cin>>z3;
if (z1 < z2){
Min = z1;
Max = z2;
}
else{
Min = z2;
Max = z1;
}
if (z3 < Min) Min = z3;
if (z3 > Max) Max = z3;
cout<<endl;
cout<<"Das Maximum ist: "<<Max<<endl;
cout<<"Das Minimum ist: "<<Min<<endl;
return 0;
}
4 Antworten
a>b -> dann tauschen
b>c -> dann tauschen
a>b -> dann tauschen
probier das mal aus . zum tauschen brauchste wohl was zusätzliches und gucken ob das immer geht .
Wenn du die Standard Library verwenden darfst, geht es mit Null if Abfragen ;)
https://www.cplusplus.com/reference/algorithm/min/
https://www.cplusplus.com/reference/algorithm/max/
Ansonsten könntest du die beiden Funktionen selber implementieren und wärst mit zwei if Abfragen im Code fertig ^^
"Ohne IF Befehl" ist eine Untermenge von "nicht mehr als 3 IF Befehle". Die Antwort ist korrekt.
Mit drei if Abfragen kannst Du die Werte sortieren. Und dann steht der kleinste an Stelle 1. Der größte an Stelle 3.
genau das sagt der lehrer ja schon lol . die frage war , "wie ungefähr geht das .
Wenn es so funktioniert, dann passt doch alles, oder?
wieder so ein toller versuch , es wird eine aufgabe vorgegeben und du wählst eine neue aufgabe . oder warum sagt der leherer nicht mehr als 3 if , der würde sonst sagen OHNE IF . und eine lösung bietest du auch nicht .