Zufallsprgramm

K

Konze

Aktives Mitglied
Thread Starter
Dabei seit
03.10.2005
Beiträge
348
Reaktionspunkte
10
Zufallsprogramm

Hi,
ich habe ein Problem und zwar möchte ich gerne ein Programm schreiben das mir die zahlen 0-9 per Zufall ausgibt. Also dass wenn ich das Programm starte dass es mir einfach eine dieser Zahlen ausspuckt. ihr musst mir keinen Code schreiben (nagut ein kleiner anzsatz wäre gut:)) vllt nen paar nützlich tipps wie man es vllt umstzen könnte. Ich kenne mich mit C gut aus und bin auch mit C++ und Java konform.

Danke Konze
 
@Konze
Du kannst auch mir eine PN schreiben und ich spuck dir eine Zahl (0-9) aus! :D
Leider habe ich noch keine Ahnung von programieren! :(
 
gut dann brauche ich das jetzt so ungefähr 1.000.000.000.000.000 und noch nen paar zerquetschte.
 
der erste hit bei google für "java zufallszahlen"

ada.rg16.asn-wien.ac.at/~javafs/joa.html

Java für Schüler :D
 
i = rand();

wobei Du IMHO glaub ich evtl noch den Zufallsgenerator irgendwie initialisieren musst, damit es auch wirklich "zufällig" ist
 
Beispiel in C

Kurz aus der Hüfte:

Code:
#include <stdlib.h>
#include <time.h>
#include <stdio.h>
int main (int argc, char** argv)
{
  int val;
  int i;

  // initialisieren
  srand (time(NULL));

  for (i=0; i<1000;i++) {
    val = rand()%9; //#0 to 9
    printf ("%d\n", val);
  }
}
 
Wenn du die Rand() funktion selbst schreiben willst dann musst du dir ein algorithmus ausdenken und den dann in verschachtelte Loops einbetten!
Zufall is ja nicht gleich Zufall.
 
vielen Dank an euch alle. mein Probelm ist gelöst:)
 
core schrieb:
Code:
#include <stdlib.h>
#include <time.h>
#include <stdio.h>
int main (int argc, char** argv)
{
  int val;
  int i;

  // initialisieren
  srand (time(NULL));

  for (i=0; i<1000;i++) {
    val = rand()%9; //#0 to 9
    printf ("%d\n", val);
  }
}

:eek:

:p
 
sebsebseb schrieb:
@Konze
Du kannst auch mir eine PN schreiben und ich spuck dir eine Zahl (0-9) aus! :D
12 von 10 möglichen Punkten! ;)
 
Wenn du jetzt noch %10 statt %9 nimmst klappts auch mit dem Nachbarn. ;)
 
Kannst auch /dev/random auslesen
 
core schrieb:
Kurz aus der Hüfte:
...und gleich in eine Falle getappt, denn ein Modulo auf die Bits liefert keine gleichverteilten Zahlen. Siehe hier
Code:
#include <stdio.h>
#include <stdlib.h>

int main() {
    unsigned int j=0; 
    srand (time(NULL));
    for ( ; j < 100 ; j++) {
        printf ("%d\n", 
           (unsigned int)(rand()/(((double)RAND_MAX + 1) / 9.0)); }
}
Und rand() ist für Zufallszahlen i. A. die schlechteste Wahl. "Gute" (Pseudo-)Zufallszahlen zu erzeugen ist ein fieses Problem.
 
Zurück
Oben Unten