C++ Minmum und Maximum mit nur 3 if abfragen?


13.12.2021, 11:04

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 ^^

TechPech1984  13.12.2021, 10:57

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 .

0
mjutu  13.12.2021, 11:04
@TechPech1984

"Ohne IF Befehl" ist eine Untermenge von "nicht mehr als 3 IF Befehle". Die Antwort ist korrekt.

1

Mit drei if Abfragen kannst Du die Werte sortieren. Und dann steht der kleinste an Stelle 1. Der größte an Stelle 3.

TechPech1984  13.12.2021, 10:59

genau das sagt der lehrer ja schon lol . die frage war , "wie ungefähr geht das .

0

Wenn es so funktioniert, dann passt doch alles, oder?