Einen Zufallsgenerator erstellen?

6 Antworten

klar, die Algorithmik und die jeweiligen Einschränkungen zu ja bekannt und gut dokumentiert. Außerdem sind die RNGs und PRNGs in jeder Sprache und jedem System ohnehin vorhanden.

Dafür brauchst du zwei Listen in Form eines Arrays z.B.. In der einen speicherst du dann die Farben ab, die du nutzen willst und in der anderen die Länder.

Dann muss du drei Zufallszahlen erzeugen
Die erste ist die Zahl von 1 bis 10
Die zweite Zahl ist der Index der Farbenliste
Die dritte Zahl ist der Index der Länderliste

Ich hoffe das ist verständlich.

Turf

Woher ich das weiß:Studium / Ausbildung
Schnacki34 
Fragesteller
 25.01.2020, 23:16

Das Problem liegt darin, dass ich wirklich keine Ahnung von Programmierung habe. Ich würde die Sprache C++ verwenden und ich habe mir auch ein dementsprechendes Programm heruntergeladen (CodeBlocks). Ich hatte gehofft jemand könnte mir zeigen wie genau der Befehl dafür aussehen müsste.

0
Turf15  26.01.2020, 15:18
@Schnacki34

#include <string>               //import damit wir String (Zeichenketten verwenden könenn)

#include <stdlib.h>             //import für srand und rand also die Random Befehle

#include <time.h>              //import für time Befehl

#include <iostream>

using namespace std;

int main()

{

   

  string farben[3] = {"Rot", "Blau", "Grün"};     //erstellt eine lokale Farbenliste (mit 3 Elementen)

  string laender[5] = {"Deutschland", "England", "Russland", "Frankreich", "Polen"}; //erstellt eine lokale Länderliste (mit 5 Elementen)

   

  int zufall;             //integer (Ganzzahl) in dem wir die Zufallszahl speichern

  int farbe;            //integer in dem wir den index der zufällige Farbe speichern

  int land;            //integer in dem wir den index des zufällige Landes speichern

   

   srand(time(NULL));       //initialisiert random seed -> Generierung von Zufallszahlen möglich

   

  //Zufallszahl zwischen 1 und 10

  zufall = rand() % 10 + 1;

   

  //Zufallsfarbe (Zahl zwischen 0 und 3; entspricht index der Liste farben)

  farbe = rand() % 2;

   

  //Zufallsland (Zahl zwischen 0 und 4; entspricht index der Liste laender)

  land = rand() % 4;

   

  cout<<zufall << ", " << farben[farbe] << ", " << laender[land];

  return 0;

}

0

Ja, ist es, dafür gibt es Funktionen wie random() in der einen oder andere Variante in ziemlich jeder Programmiersprache. Dahinter versteckt sich ein PRNG, sehr oft ein LCG, der mit einem zufälligen Startwert (seed) initialisiert wird.

In vielen Sprachen gibt es auch die Möglichkeit zwischen verschiedenen PRNGs zu wählen, oder aber es gibt Bibliotheken, die dies anbieten.

ist der zufalls gernerator das problem ?

zu 99% gibt es in jeder programmiersprache schon ein zufalls gernerator ,

da die aber leider nicht wirklich echte zufälle sind , gibt es die möglichkeit wenigstens den anfang zu initialisieren und zwar mit der aktuellen zeit in millisekunden :)

Das ist ziemlich simpel ... wenn man die Grundlagen dafür verstanden hat, wie man überhaupt etwas programmiert, dann kann man sowas locker.

Oder worauf möchtest du hinaus?