Wie zählt man jede Zahl, die zufällig mit einem Array in C # generiert wird?
Die Ausgabe erfolgt wie folgt:
2 3 5 3 5
Nummer 1: 0
Nummer 2: 1
Nummer 3: 2
Nummer 4: 0
Nummer 5: 2
Ich bin mit Zufallszahlen herausgekommen, aber dann muss ich herausfinden, wie man jede Zahl zählt.
int[] randNum;
randNum = new int[5];
Random randNum2 = new Random();
for (int i = 0; i < randNum.Length; i++)
{
randNum[i] = randNum2.Next(0, 9);
Console.Writeline(randNum[i]);
}
Console.WriteLine();
Normalerweise verwenden wir Dictionary
für solche Probleme:
// We build dictionary:
Dictionary<int, int> counts = new Dictionary<int, int>();
// 1000 random numbers
for (int i = 0; i < 1000; ++i) {
int random = randNum2.Next(0, 9);
if (counts.TryGetValue(random, out int count))
counts[random] = count + 1;
else
counts.Add(random, 1);
}
// Then query the dictionary, e.g.
// How many times 4 appeared?
int result = counts.TryGetValue(4, out int value) ? value : 0;
Wenn die Zahlen jedoch in einem kleinen Bereich liegen (z. B. 0..8
nicht -1000000..1000000000
), können wir Arrays verwenden:
int numbersToGenerate = 5;
int max = 9;
int[] counts = new int[max];
for (int i = 0; i < numbersToGenerate; ++i) {
int random = randNum2.Next(0, max);
counts[random] += 1;
}
// Output:
for (int i = 0; i < counts.Length; ++i)
Console.WriteLine($"Number {i} : {counts[i]}");
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen