Zufallsgenerator mit C++

Dieses Thema im Forum "Programmieren" wurde erstellt von Ganxxxta, 7. Dezember 2004.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. Ganxxxta

    Ganxxxta Byte

    Hallo,
    ich wollt fragen ob mir jemand mal ein Code Beispiel für nen Zufallsgenerator sagen kann. Hab nämlich erst vor kurzem angefangen zu programmieren.

    Danke im voraus
     
  2. Michi0815

    Michi0815 Guest

    #include <stdio.h>
    void srand(unsigned int);
    int rand(void);
    int main ()
    {
    int z;
    srand(4711); /*initialisieren des (zufalls)zahlengenerators mit 4711 */
    z = rand();
    printf("\nZahl: %d\n", z);
    return 0;
    }
     
  3. Ganxxxta

    Ganxxxta Byte

    Hi,
    Danke erst mal. Ich ab noch zwei Fragen: was bedeutet
    "srand(4711); /*initialisieren des (zufalls)zahlengenerators mit 4711 */" und ich wollt die Zahlen auf einem normalen schreibgeschützten Eingabefeld erscheinen lassen. Wie muss ich den Code einfügen dass die Zahlen dort angezeigt werden? Muss ich den einfach nur in die {} Klammern einfügen?
     
  4. specialist7

    specialist7 Kbyte

    hallo!

    srand bedeutet. dass er seine zufallsrechenoperation mit dieser zahl beginnt. die könntest statt dessen auch zum beispiel auch die ticks angeben, die seit systemstart vergangen sind. so erhälst du /fast) immer eine neue zufallszahl...

    benutzt die die standard winapi für dein eingabefeld oder mvc oder so etwas in der richtung?
     
  5. Ganxxxta

    Ganxxxta Byte

    hallo,
    ich benutze mfc. bis jetzt steht da nur

    void CGigantDlg::OnChangeEdit4()
    {

    }

    Ich will den code so einfügen, dass auf dem schreibgeschützten eingabefeld eine zufallszahl zwischen 100 und -100 erscheint.

    muss ich dann den code nur einfügen, also

    void CGigantDlg::OnChangeEdit4()
    {
    #include <stdio.h>
    void srand(unsigned int);
    int rand(void);
    int main ()
    {
    int z;
    srand(4711); /*initialisieren des (zufalls)zahlengenerators mit 4711 */
    z = rand();
    printf("\nZahl: %d\n", z);
    return 0;
    }

    wenn ich das so mache heisst es aber es gäbe 58 fehler.
     
  6. specialist7

    specialist7 Kbyte

    also mfc...

    onchange wird aufgerufen, wenn etwas geändert wird...

    und include kommt nach ganz oben in die src-datei... ;) vllt solltest du dir noch einmal die grundlagen anschauen. -.-
     
  7. Michi0815

    Michi0815 Guest

    was ich dir gegeben habe ist ein fix-fertiges c-programm. das kannst du doch nicht einfach wie es ist in eine methode reinpfriemeln :D

    zuerst (zum bleistift im init() oder wie das bei dir sonst heisst) musst du den zufallszahlengenerator initiieren. dazu brauchst du srand(<irgendwas>). idealerweise verwendest du wie oben schon gesagt die uhrzeit oder den tick dafür.

    in die CGigantDlg::OnChangeEdit4() kommt dann nur die zuweisung der zufallszahl mit rand() in das feld. nachdem rand() eine zahl zwischen 0 und 32767 liefert musst du das noch "aufbereiten" also z = (rand() % 200) - 100.
     
Status des Themas:
Es sind keine weiteren Antworten möglich.

Diese Seite empfehlen