Absoluter Neuling braucht etwas Hilfe



  • Hallo Leute,

    Ich bin ein absoluter Programmierneuling und habe eine Frage.

    Ich habe ein Programm geschrieben, das mit von 10 eingegebenen Zahlen die kleinste und die größte Zahl ausgeben soll.
    Ich habe das ganze mit wenn dann sonst Bedingungen erledigt.

    if (max < zahl1)
                    {
                        max = zahl1;
                    }
                    else
                    {
                        max = max;
                    }
    
                    if (min > zahl1)
                    {
                        min = zahl1;
                    }
                    else
                    {
                        min = min;
                    }
    

    Diese Methode erscheint mir aber ein bisschen umständlich...
    Ich weiß, das mich die Profis unter euch jetzt auslachen werden, aber ich bitte euch trotzdem um eine bessere Lösung.

    mfg
    Catch86



  • Eine elegantere Lösung wäre, alle 10 eingegebenen Zahlen in einer List<T> zu speichern und dann auf diese Liste die Funktion Max() anzuwenden.


  • Administrator

    Man kann dies sogar mit einem einfachen Array machen, wenn die Anzahl Zahlen sich nicht verändert. Und statt Max() darf man als Neuling auch eine for -Schleife anwenden. Nur damit man ein wenig lernt, solche Algorithmen umzusetzen. Die Lösung von Firefighter wäre natürlich der übliche Weg.

    Grüssli



  • also in assemblercode würde ich das so machen:
    Zahlen in einen Puffer lesen, dort mit einem passenden Algo sortieren (Radixsort oder sowat) und dann mit Zeiger(n) auf das Ende oder eben den Anfang des Puffers
    zeigen, auslesen und Ausgaberoutine aufrufen...

    Zum Algorithmen lernen sind ein paar Utensilien ganz nützlich, Bleistift und Schmier-/Notierpapier sowieso, Karten mit Zahlen drauf oder Tischtennisbälle und/oder...usw., ein Taschenrechner, der Hexzahlen und Binärzahlen kann, Kekse und Kaffe, Abenteuerlustige frohe Experimentierlust, ein wenig Interesse für Geschichte usw. usw.



  • Hallo Catch860417,

    deine beiden if-Abfragen sind schon so in Ordnung, nur der jeweilige else-Teil ist überflüssig, da "max = max;" keine Veränderungen vornimmt.



  • @nachtfeuer: Was soll der sinnlose Beitrag der dem TE rein gar nicht hilft?



  • Ich werde es gleich ausprobieren.

    Hoffe ihr seit in nächster zeit öfter mal so hilfsbereit 🙂


Anmelden zum Antworten