C# , Zahlen absteigend sortieren?
Hallo alle zusammen!
Ich möchte fragen, wie ich in C# Zahlen absteigend sortieren kann?
Ich hoffe auf eine Antwort.
Danke im Voraus!
MfG,
Atari
und wie ich random zahlen hinzufügen kann von 1 bis 20 z.b
2 Antworten
Bei Lists, ArrayListe und Co gibt es die Methode .Sort().
Ich bin mir allerdings nicht sicher ob diese Absteigend oder aufsteigend sortiert. Im Notfall kannst du die Liste nochmal umdrehen mit .Reverse()
Habe gerade deine Ergänzung gesehen, hier ein kleiner Code Schnipsel dazu
Random rnd = new Random();
List<int> list = new List<int>();
for(int i = 0; i < 10; i++){
list.Add(rnd.Next(1,21));
}
// Dieses Beispiel erstellt eine Liste mit 10 Einträgen, diese Einträge sind zufallszahlen zwischen 1 und 20
Der Code hier sortiert manuell ohne die Methode Sort einen Array.
Funktioniert das wie du es willst?
Random rnd = new Random();
List<int> list = new List<int>();
for(int i = 0; i < 10; i++){
list.Add(rnd.Next(1,21));
}
list.Sort();
list.Reverse();
foreach(int e in list) {
Console.WriteLine(e);
}
ah jetzt hab ich es aber irgendwie funtkioniert es gerade nicht
also das erste list ganz links und das dritte list ganz rechts von der Zeile unter Random rnd = new Random(); werden nicht angenommen
ahso ja das ist da nur werden keine random zahlen gezeigt und sortiert können sie ja nicht werden, weil ja die zahlen fehlen
sicher dass list richtig ist bei mir wird es nicht angenommen?
sortieren
https://docs.microsoft.com/de-de/dotnet/api/system.array.sort?view=net-5.0
nach dem Sortieren nur noch mit reverse umdrehen.
random Zahlen
https://docs.microsoft.com/de-de/dotnet/api/system.random.next?view=net-5.0
hab jetzt einen anderen code gefunden und der lautet
Random Rand = new Random();
int[] arr = { Rand.Next(1, 11), Rand.Next(1, 11), Rand.Next(1, 11), Rand.Next(1, 11), Rand.Next(1, 11) };
int temp = 0;
for (int write = 0; write < arr.Length; write++)
{
for (int sort = 0; sort < arr.Length - 1; sort++)
{
if (arr[sort] > arr[sort + 1])
{
temp = arr[sort + 1];
arr[sort + 1] = arr[sort];
arr[sort] = temp;
}
}
}
for (int i = 0; i < arr.Length; i++)
Console.Write(arr[i] + " ");
könnten Sie mir sagen wie ich das reverse also wo ich das reverse einfügen soll