C# programm mit 3 zahlen, min und max soll ausgegebe werde
hallo leute,
ich soll für die schule ein c# Programm programmieren, und komme absolut nicht weiter...habe auch noch nicht so viel programmier kenntnisse. die aufgabenstellug lautet wie folgt:
Ein Benutzer kann 3 positive ganze zahlen ( integer-wert) eingeben. Danach soll kleinste und die größte zahl ausgegeben werden.
ich soll also ein programm programmieren welches wo ich 3 zahlen eingeben kann und danach min = x ; max = y oder so steht. wie ich die 3 zahlen eingese weis ich aber ich habe einfach keine ahnung wie ich das mache das danach die größte und die kleinste zahl steht von den drei zahlen steht. achja und wir sollen nur 3mal if verwenden
wäre echt cool wenn mir da irgendjemand helfen kann ich komme echt absolut nicht weiter danke schonmal im vorraus
4 Antworten
LINQ heißt die lösung
alle zahlen in ein array
und dann .Min() bzw .Max() aufrufen
hi default3punkt0, in c# gibt es die lambda methoden von linq Max und Min. Du misstest nur deine zahlen in ein array setzen, hierfuer benoetigst du keine if abfragen, schleifen oder sortier functionen.
int[] numbers = new int[] { 1, 2, 8, 3, 10, 25, 4 };
var maxResult = numbers.Max();
var minResult = numbers.Min();
Es gibt mehrere Möglichkeiten die mehr oder weniger effizient sind.
Schreib die Zahlen z.B. in ein Array und dann sortiere das Array. Die kleinste Zahl steht dann vorne und die größte ganz hinten, oder umgekehrt.
Oder Du machst es wie von safur vorgeschlagen in einer foreach Schleife.
Mit den beiden Methoden bist Du am flexibelsten und kannst das mit beliebig vielen Zahlen machen.
Bei drei Zahlen kannst Du das aber auch einfach mit if else machen indem Du die Zahlen einfach miteinander in einer bestimmten Reihenfolge vergleichst. Das ist aber teil Deiner Hausaufgabe Dir etwas darüber den Kopf zu zerbrechen. Dir einfach die Lösung hinzuschmeißen ist keine Leistung und lernen tust Du dabei auch nichts. So schwer ist das ja nicht und so viele verschiedene Kombinationen gibt es bei 3 Zahlen ja nicht.
Max=0; Min=0;
Ich würde die drei Zahlen in ein Array einlesen. (Forschleife) Unter dem Einlesen würde ich noch eine IF-Abfrage machen. Wenn die Zahl größer ist als dein gemerktes Max, wird diese in Max geschrieben. Wenn die Zahl kleiner ist als dein gemerktes Min, wird diese in Min geschrieben.
Alles klar? :-)