So erstellen einen Zufallsgenerator in C

May 31

Ein Zufallsgenerator mischt eine Liste von Zahlen, und dann werden die Zahlen in zufälliger Reihenfolge aufgeführt. Forscher und Statistiker verwenden diese Zufalls-Listen zu ziehen Proben oder Forschungsprotokollen zuweisen. Das Internet bietet viele statistisch zufällige und zuverlässige Randomizers kann, Listen von Zufallszahlen generieren jedoch ein lustiges zusammenfällt. Verwenden Sie die Programmiersprache C um eigene eine einfache Zufallsgenerator erstellen.

Anweisungen

1 Erstellen Sie ein neues C-Programm. Starten Sie "Visual Studio." Klicken Sie aus dem Pulldown-Menü auf "Datei", "Neues Projekt". Klicken Sie im Dialogfeld "Win32" unter "Visual C++" auf der Strukturansicht. Wählen Sie das Symbol der Konsole-Anwendung. Nennen Sie das Projekt "Randomizer." Klicken Sie auf "OK". Ein Text-Editor-Fenster wird angezeigt.

2 Fügen Sie die folgenden Header am Anfang des Programms:

enthalten < stdlib.h > < stdio.h > gehören gehören < time.h > Fügen Sie auch die folgende Präprozessordefinition unmittelbar nach der Include-Anweisungen:

N 25 definieren Wenn die Liste von Zufallszahlen erstellt werden, ist N die höchste Zahl generiert. Ändern Sie diese Definition, um die Menge von Zufallszahlen gewünscht variieren.

3 Definieren Sie die folgenden Speichervariablen innerhalb der main-Funktion:

Int _tmain (Int Argc, _TCHAR * argv[])

{Int Nums [N];

Int i, R;

Die Array-Nums hält die Zufallszahlen und wird auf der Grundlage der Präprozessordefinition angepasst. Beachten Sie, dass verschiedene Versionen der C-Programmierung leichte Abweichungen der Funktionsdeklaration benötigen.

4 Deaktivieren Sie das Array Nums und seed den Zufallszahlengenerator.

Srand (time(NULL));

für (i = 0; i < N; i++)

{ nums[i]=0;

}

Die Funktion Srand Samen die Zufallszahl, basierend auf der aktuellen Zeit. Dies stellt sicher, dass eine andere Liste von zufälligen Zahlen auftreten, jedes Mal, wenn das Programm ausgeführt wird.

5 Die Liste der Zufallszahlen zu generieren.

für (i = 0; i < N; i++)

{R = rand() % N;

während (Nums [R] > 0)

{ r++;

if (r>=N) r=0;

}

Nums [R] = i + 1;

}

Diese Schleife wird zunächst überprüft dann eine zufällige Zahl zwischen 0 und N-1 (in diesem Fall 24) um festzustellen, ob das Array an das Element leer ist. Wenn es ist, wird die Zufallszahl (sowie 1 aus, um die Reihenfolge von 1 bis 25 laufen lassen) an dieser Stelle platziert. Wenn dies nicht der Fall ist, die innere while-Schleife sieht für das nächste verfügbare leere Element im Array Nums. Dieser Vorgang wird wiederholt, bis das Array voll ist.

6 Drucken Sie das Array.

für (i = 0; i < N; i++)

{Printf ("%d", nums[i]);

}

printf("\n");

7 Ende der Funktion.

return 0;

}

8 Klicken Sie auf "F5", um das Programm ausführen. Eine Liste der 25 Zufallszahlen werden im Konsolenfenster aufgelistet.

Tipps & Warnungen

  • Dies ist nur eine von vielen Möglichkeiten, ein Array mit sequenziellen Zufallszahlen zu füllen. Andere guten Entscheidungen zählen, sortieren, Zusammenführen oder mischen.