C# , Zahlen absteigend sortieren?


05.05.2021, 19:31

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
Woher ich das weiß:Hobby – Ich interessiere mich für das programmieren und Informatik

Atari511 
Beitragsersteller
 05.05.2021, 19:55

sicher dass list richtig ist bei mir wird es nicht angenommen?

0
Atari511 
Beitragsersteller
 05.05.2021, 19:58

also das erste list ganz links und das dritte list ganz rechts von der Zeile unter Random rnd = new Random(); werden nicht angenommen

0
EnderLuca  05.05.2021, 20:01
@Atari511

Hast du den Namespaces System.Collections.Generic importiert?

1
EnderLuca  05.05.2021, 20:18
@Atari511

Oben am Anfang des Scriptes, dort muss stehen "using System.Collections.Generic;"

0
Atari511 
Beitragsersteller
 05.05.2021, 20:24
@EnderLuca

ahso ja das ist da nur werden keine random zahlen gezeigt und sortiert können sie ja nicht werden, weil ja die zahlen fehlen

0
Atari511 
Beitragsersteller
 05.05.2021, 20:00

ah jetzt hab ich es aber irgendwie funtkioniert es gerade nicht

0
Atari511 
Beitragsersteller
 05.05.2021, 20:41

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

0
EnderLuca  05.05.2021, 20:47
@Atari511

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);
} 

0