So erstellen einen Zufallsgenerator in C
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.