Zahlen sortieren | Bessere Lösung


Möchtest du dir die Angabe nochmals ansehen? Hier lang.

Bei diesem Quellcode ist der Unterschied zur ersten Lösung, dass hier eine variable Anzahl von Zahlen sortiert werden kann. Wenn am Ende "exit" eingegeben wird, sortiert das Programm die Zahlen und gibt diese aus. 

Zu Beginn wird eine ArrayList namens "sortieren" deklariert und erstellt. Danach folgt eine "for"-Schleife, die einen string mit "Console.ReadLine();" einliest und diesen in der Variable "strzahl" speichert. In der "for"-Schleife werden die eingegebenen Zahlen mit "sortieren.Add(strzahl)" in die Arraylist hinzugefügt. Danach wird die nächste Zahl mit "Console.ReadLine();" eingelesen und in "strzahl" gespeichert. Da das alles in einer Schleife ist und sie auch irgendwann beendet werden muss, wird mit "if (strzahl == "exit")" abgefragt, ob die Variable "strzahl" den Wert "exit" beinhaltet. Ist dies der Fall, so wird die Schleife mit "break;" verlassen.

using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace Zahlen_sortieren { class Program { static void Main(string[] args) { Console.WriteLine("Zahlen eingeben. \n z.B. \n 4 \n 5 \n 2 \n 7 \n 1 \n Wenn sie fertig sind geben sie exit zum beenden ein. \n Achtung: nur Zahlen von 0-9 verwendbar!"); Console.WriteLine("------------------------------------------------------------------"); ArrayList sortieren = new ArrayList(); for (string strzahl = Console.ReadLine(); ;) { sortieren.Add(strzahl); strzahl = Console.ReadLine(); if (strzahl == "exit") { break; } }
text/x-csharp

Hier werden wieder die ganzen Zahlen mit "sortieren.Sort();" sortiert und mit "PrintValues(sortieren);" ausgegeben.

Console.WriteLine("------------------------------------------------------------------"); sortieren.Sort(); Console.Write(" Zahlen:"); PrintValues(sortieren); Console.WriteLine("Drücken sie enter um zu beenden!"); Console.ReadLine(); } public static void PrintValues(IEnumerable myList) { foreach (Object obj in myList) Console.Write(" {0}", obj); Console.WriteLine(); } } }
text/x-csharp

Fazit der besseren Lösung


Vorteile:

Es lassen sich beliebig viele Zahlen sortieren und der Code ist kürzer.

Nachteile:

Zweistellige Zahlen lassen sich auch mit dieser Lösung nicht sortieren. Die for-Schleife wurde falsch verwendet.

Download


Zahlen sortieren - Bessere Lösung: zip-Datei downloaden

Übersicht der Katas

Hier findest du die Erklärung zum Begriff "Katas" und eine Übersicht aller Programmierübungen.

Zahlen sortieren - Beste Lösung

War die bessere Kata-Lösung zu simpel? Dann übe direkt die optimale Lösung zum Thema Zahlen sortieren.

C# Kata | Unit Testing

Mit Unit Tests findest du heraus, ob die Funktion wie gewünscht funktioniert. Mit dieser Kata lernst du wie das geht!

C# Kata | Klassenvererbung

Mit der Vererbung können Klassen erstellt werden, die bestimmte Aspekte von Elternklassen erben. Optimiere dein Können!

Übersicht der C# Aufgaben

Möchtest du noch einmal einen Blick auf alle verfügbaren C# Aufgaben werfen?

Bereit für die nächste Herausforderung?

Löse unsere Dojo Aufgaben und beweise dein Können.

Dojos
Ultimative Coding-Roadmap

Unsere Roadmap weist dir den Weg zum Coding-Profi!

Besiege unseren Bot

Egal ob als Einzelspieler oder im Mulitplayer-Modus: Stelle dich dem Dojo-Bot und beweise, dass du auf das Leaderboard gehörst!

Bewerbung bei COUNT IT

Starte deine Karriere als Softwareentwickler*in bei COUNT IT.

Über Digital Dojo

Das Digital Dojo ist der virtuelle Übungsraum von COUNT IT.

Angehende Programmierer*innen, Code-Neulinge, Wiedereinsteiger*innen und Fortgeschrittene finden hier das nötige Rüstzeug für ihre Karriere.

Du möchtest deine Lehre bei COUNT IT starten? Dann bist du hier richtig - besiege deine Gegner im Dojo Game und sichere dir deine Lehrstelle!

Inspire your career.

Newsletter abonnieren

Der COUNT IT Newsletter liefert viermal jährlich interessante Neuigkeiten über das Unternehmen. Gleich anfordern!