Hallo allerseits!
Aktuell benötige ich ein Programm, das mir 6 unterschiedliche Zahlen zwischen 1 und 20 ausgibt.
Ich war schon auf dem besten Weg, ein C++-Programm loszutippen, als mir aufging, dass eine „x aus y“-Zahlenwahl eine nicht selten anzutreffende Aufgabe ist. Kennt hier jemand evtl. Programmbeispiele oder Tutorials, die dieses Thema so behandeln, dass man ein entsprechendes Programm schreiben kann?
Mir sind zwischenzeitlich zwei mögliche Wege zur Programmierung eingefallen und ich wüsste gerne, ob es noch mehr Möglichkeiten gibt, diese Aufgabenstellung anzugehen.
Danke vorweg!
Gregor
[erledigt] Programm/Algorithmus f. „x aus y“-Lotterie
[erledigt] Programm/Algorithmus f. „x aus y“-Lotterie
Zuletzt geändert von GregorS am 20.08.2024 08:27:50, insgesamt 1-mal geändert.
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi [und sog. Maker])
Re: [S] Programm/Algorithmus f. „x aus y“-Lotterie
ChatGPT sagt:
Code: Alles auswählen
#include <iostream>
#include <set>
#include <cstdlib>
#include <ctime>
int main() {
std::set<int> uniqueNumbers;
std::srand(std::time(0)); // Initialisiere den Zufallsgenerator mit der aktuellen Zeit
while (uniqueNumbers.size() < 6) {
int num = std::rand() % 20 + 1; // Generiere eine Zufallszahl zwischen 1 und 20
uniqueNumbers.insert(num); // Füge die Zahl in die Menge ein (automatisch nur einzigartige Zahlen)
}
std::cout << "Die 6 unterschiedlichen Zufallszahlen sind: ";
for (int num : uniqueNumbers) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
Re: [S] Programm/Algorithmus f. „x aus y“-Lotterie
Und ja ich weiß dass ist nicht exakt Lotto. Dürfte aber vom Ergebnis egal sein.
Re: [S] Programm/Algorithmus f. „x aus y“-Lotterie
Wenn man wüsste, was dir dazu eingefallen ist?!GregorS hat geschrieben:20.08.2024 07:51:14Mir sind zwischenzeitlich zwei mögliche Wege zur Programmierung eingefallen und ich wüsste gerne, ob es noch mehr Möglichkeiten gibt, diese Aufgabenstellung anzugehen.
Mir würde einfallen:
-Man steckt die 20 Zahlen in eine Liste und entfernt 6 Stück zufällig daraus (damit wären Dubletten eliminiert).
-Man zieht Zufallszahlen (aus dem entsprechenden Bereich) und fügt sie einer Menge hinzu (damit wären Dubletten eliminiert) bis Anzahl=6.
-Man nimmt ein Programm, das dafür ausgelegt ist. Sowas z.B.:
Code: Alles auswählen
shuf -i 1-20 -n 6
Re: [erledigt] Programm/Algorithmus f. „x aus y“-Lotterie
Vielen Dank für die Antworten!
Das Programm, das ChatGPT vorschlägt, entspricht in etwa einem der beiden Wege, die mir vorgeschwebt sind. Aber shuf ist natürlich deutlich bequemer, zudem es mit den coreutils sowieso installiert wurde.
Hintergrund der Angelegenheit ist übrigens eine weitere Modifikation der Spielregeln bei meinen Samstäglichen Darts-Treffen: Wir haben lange Zeit das standardmäßige Cricket gespielt. Das führte allerdings dazu, dass ziemlich lange Spiele zustande kamen – wir haben so oft nur zwei Runden an einem Abend gespielt.
Also haben wir die Regeln stark vereinfacht: Punkte wurden ganz abgeschafft, es wird nur auf die Zahlen von 15-20 gespielt und wenn man einen Tripple oder Double wirft, zählt der auch, wenn er bei einer beliebigen Zahl fällt. So kommen wir jetzt oft auf 5-6 Partien.
Die jüngste Idee ist nun, dass die gewünschten Zahl-Felder ausgewürfelt werden.
Ein Freund hat dazu schon spontan einen Satz „Zwanziger-Würfel“ (Isokaeder) gekauft, ich will das bei Bedarf schnell im Terminal erledigen.
PS: Schön wird's, wenn man shuf und sort kombiniert:
Das Programm, das ChatGPT vorschlägt, entspricht in etwa einem der beiden Wege, die mir vorgeschwebt sind. Aber shuf ist natürlich deutlich bequemer, zudem es mit den coreutils sowieso installiert wurde.
Hintergrund der Angelegenheit ist übrigens eine weitere Modifikation der Spielregeln bei meinen Samstäglichen Darts-Treffen: Wir haben lange Zeit das standardmäßige Cricket gespielt. Das führte allerdings dazu, dass ziemlich lange Spiele zustande kamen – wir haben so oft nur zwei Runden an einem Abend gespielt.
Also haben wir die Regeln stark vereinfacht: Punkte wurden ganz abgeschafft, es wird nur auf die Zahlen von 15-20 gespielt und wenn man einen Tripple oder Double wirft, zählt der auch, wenn er bei einer beliebigen Zahl fällt. So kommen wir jetzt oft auf 5-6 Partien.
Die jüngste Idee ist nun, dass die gewünschten Zahl-Felder ausgewürfelt werden.
Ein Freund hat dazu schon spontan einen Satz „Zwanziger-Würfel“ (Isokaeder) gekauft, ich will das bei Bedarf schnell im Terminal erledigen.
PS: Schön wird's, wenn man shuf und sort kombiniert:
Code: Alles auswählen
gszaktilla@lili:~$ shuf -i 1-20 -n 6 | sort -g
2
4
7
9
12
14
gszaktilla@lili:~$
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi [und sog. Maker])