Übersicht Home   News News   Forum Forum   Forum Bildergallerien
Hilfe  Hilfe  Suche
 Kalender  Kalender  Benutzerkarte  Karte
Willkommen Gast. Bitte einloggen oder registrieren.
Haben Sie Ihre Aktivierungs E-Mail übersehen?
*
+  Newsparadies
|-+  Im Paradies
| |-+  Technik, Computer, Internet
| | |-+  C++ Zufallsgenerator
Seiten: [1] 2  Alle nach unten
Thema: C++ Zufallsgenerator  (Gelesen 1603 mal) Drucken
holp
*
Kolumnist
Stammtisch HC

AltgedienterAltgedienter
Altgedienter

Karma: 58
Beiträge: 1.854

« am: 11.08.2009, 18:11:22 »
edit: hmm... hat sich gerade selbst gelöst... nur... iwie bin ich zu blöd den löschen button zu finden... hmm...
Letzte Änderung: 11.08.2009, 18:28:23 von Xamos  top
 IP: [ Gespeichert ]
Profil anzeigen    yigg it  facebook  twitter  google+  
Gast
Gast
« Antwort #1 am: 11.08.2009, 18:56:56 »
ich glaub das können nur Adnims. wie kann man denn unter C++ zufälle generieren??? 
 top
 IP: [ Gespeichert ]
holp
*
Kolumnist
Stammtisch HC

AltgedienterAltgedienter
Altgedienter

Karma: 58
Beiträge: 1.854

« Antwort #2 am: 11.08.2009, 20:09:55 »
Natürlich gibs Möglichkeiten bei Programmierung Zufälle zu generieren, ansonsten würde man bei einigen Sachen ziemlich dumm aus der Wäsche schaun.
Hab das jedoch bis jetzt auch noch nicht "gelernt" gehabt und daher nur mal eben in Google nachgeschaut. Die "gewöhnlichste" Art und Weise ist bei C++ wohl mit rand() - funktioniert bei mir aber nicht ganz so wie ich möchte.
Allerdings soll der Algorithmus auch nicht soo dufte sein, dh die Zufallszahlen die da rauskommen sind nicht absolut gleichverteilt. Also zu hohe Anforderungskriterien sollte man da nicht haben.
 top
 IP: [ Gespeichert ]
Profil anzeigen
Gast
Gast
« Antwort #3 am: 11.08.2009, 20:36:17 »
naja, hm... den PERFEKTEN Algorythmus gibts sowieso nie.
 top
 IP: [ Gespeichert ]
holp
*
Kolumnist
Stammtisch HC

AltgedienterAltgedienter
Altgedienter

Karma: 58
Beiträge: 1.854

« Antwort #4 am: 11.08.2009, 21:05:26 »
Er muss ja auch nicht perfekt sein, sondern immer nur gut genug.
Die Physiker machen das andauernd, kannst ja zB sin für einen sehr kleinen Winkel als linear betrachten...
 top
 IP: [ Gespeichert ]
Profil anzeigen
hell

ja malinki angel

*
Kolumnist
Stammtisch HC

schwarze Palme fünfter Dan
Boss
schwarze Palme fünfter Dan

Karma: -251
Beiträge: 22.301

« Antwort #5 am: 11.08.2009, 23:21:45 »
Code:
srand(time(NULL) + getpid());
for (int i = 0; i < 1000; i++)
{
cout << rand() % INT_MAX << endl;
}
 top
-------------------------------
Irre ist menschlich!
An mia hätt der Freud sei Freud ghabt!
 IP: [ Gespeichert ]
Profil anzeigen WWW
Gast
Gast
« Antwort #6 am: 12.08.2009, 21:35:53 »
gänge da nicht einfach nur

Code:
cout << rand();


ich beschäftige mich auch grad nich mit C++ (puh) sondern mit Pascal... XD
 top
 IP: [ Gespeichert ]
hell

ja malinki angel

*
Kolumnist
Stammtisch HC

schwarze Palme fünfter Dan
Boss
schwarze Palme fünfter Dan

Karma: -251
Beiträge: 22.301

« Antwort #7 am: 12.08.2009, 22:06:11 »
ist c++-Syntax *g*


im pascal geht das anders
Nur warum machst Du pascal?
 top
-------------------------------
Irre ist menschlich!
An mia hätt der Freud sei Freud ghabt!
 IP: [ Gespeichert ]
Profil anzeigen WWW
Gast
Gast
« Antwort #8 am: 12.08.2009, 22:20:43 »
ich finde das einfacher als C++, wollte eig Delphi aber das is nur für Windows, und ich will ja auch Linux bedienen, und da Pascal die Grundlage von Delphi ist...
 top
 IP: [ Gespeichert ]
hell

ja malinki angel

*
Kolumnist
Stammtisch HC

schwarze Palme fünfter Dan
Boss
schwarze Palme fünfter Dan

Karma: -251
Beiträge: 22.301

« Antwort #9 am: 13.08.2009, 08:34:55 »
naja, dafür basieren viele andere Sprachen auf dem c++-Syntax: PHP, Perl, Java, C#...
 top
-------------------------------
Irre ist menschlich!
An mia hätt der Freud sei Freud ghabt!
 IP: [ Gespeichert ]
Profil anzeigen WWW
Gast
Gast
« Antwort #10 am: 13.08.2009, 16:37:50 »
C++ ist weit verbeitet und erst recht im Visual C++  Azn
 top
 IP: [ Gespeichert ]
hell

ja malinki angel

*
Kolumnist
Stammtisch HC

schwarze Palme fünfter Dan
Boss
schwarze Palme fünfter Dan

Karma: -251
Beiträge: 22.301

« Antwort #11 am: 15.08.2009, 12:17:17 »
naja, visual ++ wirst Du unter Linux vergeblih suchen *lol*
und ja, inzwischen dürfte c/c++ weiter verbreitet sein als alle anderen echten Programmiersprachen
 top
-------------------------------
Irre ist menschlich!
An mia hätt der Freud sei Freud ghabt!
 IP: [ Gespeichert ]
Profil anzeigen WWW
Gast
Gast
« Antwort #12 am: 15.08.2009, 14:58:02 »
"echte Programmiersprachen" Meisnt du Assembler???
 top
 IP: [ Gespeichert ]
holp
*
Kolumnist
Stammtisch HC

AltgedienterAltgedienter
Altgedienter

Karma: 58
Beiträge: 1.854

« Antwort #13 am: 15.08.2009, 15:05:09 »
Code:
srand(time(NULL) + getpid());
for (int i = 0; i < 1000; i++)
{
cout << rand() % INT_MAX << endl;
}


So ähnlich hätt ichs auch versucht, ja. Hab eine ganze Weile mit rumexperimentiert.
Nur das "initialisieren" von rand() mithilfe von srand war mir nie ganz klar. und das gepid()
ist mir trotz googeln neu.

Hatte dann das Problem dass ich zwar "Zufallszahlen" bekommen habe - aber wenn ich zB eine Funktion hatte die 5 Zufallszahlen ausspucken sollte, und ich habe eine Schleife diese Funktion aufrufen lassen, kamen immer die "selben" Zufallszahlen.

Dann mal einen Kumpel gefragt, der hat mal einen ähnlichen Programmcode geschrieben wie ich. Bei dem hats einwandfrei funktioniert, bei meinem compiler (dev bloodshet c++ oda wies sichs schimpft) wieda ned ordentlich gelaufen. na ja...
werd jetzt woi erstmal da weiter machen wo ich stehen geblieben bin anstatt wilder experimente... zeiger warn das letzte, hoffe habs ned ganz vergessen... jetzt kommen dann strings...

und pascal... habs mal paar tage ausprobiert... ist eig ne sprache desd glaube ich fast nur noch in lehrbüchern finden wirst, wirklich programmiert wird damit nix mehr... und wenn du eine karriere als spieleprogrammierer anstrebst... ka... vlt moi in java reinschaun? zumindest für kleine spielchen wärs denk durchaus geeignet
 top
 IP: [ Gespeichert ]
Profil anzeigen
hell

ja malinki angel

*
Kolumnist
Stammtisch HC

schwarze Palme fünfter Dan
Boss
schwarze Palme fünfter Dan

Karma: -251
Beiträge: 22.301

« Antwort #14 am: 15.08.2009, 23:53:38 »
srand setzt den Startwert für den Zufallszahlenalgo. Setzt Du srand gleich, so sind die Zufallzahlen auch immer gleich.

getpid() gibt auf jedem Unix die aktuelle pid zurück, also die aktuelle Prozessid
unter win müsste es ein gethandle oder sowas geben, was sich bei jedem Programmaufruf ändert

aus dem time(NULL) sollte unter win etwas werden, was möglicht genau und als Integer die aktuelle uhrzeit angibt
 top
-------------------------------
Irre ist menschlich!
An mia hätt der Freud sei Freud ghabt!
 IP: [ Gespeichert ]
Profil anzeigen WWW
hell

ja malinki angel

*
Kolumnist
Stammtisch HC

schwarze Palme fünfter Dan
Boss
schwarze Palme fünfter Dan

Karma: -251
Beiträge: 22.301

« Antwort #15 am: 30.08.2009, 19:19:28 »
ich schieb deas mal zu den Technikern
 top
-------------------------------
Irre ist menschlich!
An mia hätt der Freud sei Freud ghabt!
 IP: [ Gespeichert ]
Profil anzeigen WWW
Gast
Gast
« Antwort #16 am: 30.08.2009, 19:25:32 »
jetz wird das wieder rausgekramt.
 top
 IP: [ Gespeichert ]
Gast
Gast
« Antwort #17 am: 19.10.2009, 02:28:40 »
http://wxdsgn.sourceforge.net/

DEV-CPP direkt für WxWidgets.
 top
 IP: [ Gespeichert ]
Gast
Gast
« Antwort #18 am: 09.12.2009, 21:54:40 »
äh... Ich steh grade vor nem Problem... dem problem: eine Zufallberechnung in C++ (ein einfaches Würfelspiel)

"rand" funzt net... -.- wo isn das zu finden unter welchem NameSpace?
srand? was soll das nochmal darstellen?
 top
 IP: [ Gespeichert ]
hell

ja malinki angel

*
Kolumnist
Stammtisch HC

schwarze Palme fünfter Dan
Boss
schwarze Palme fünfter Dan

Karma: -251
Beiträge: 22.301

« Antwort #19 am: 09.12.2009, 22:10:35 »
rand gibt die Zufallszahl aus, srand initalisiert den Zähler, weil rand sonst keine echten Zufallszahlen ausgibt

vgl.

Code:
/* rand example: guess the number */
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main ()
{
  int iSecret, iGuess;

  /* initialize random seed: */
  srand ( time(NULL) );

  /* generate secret number: */
  iSecret = rand() % 10 + 1;

  do {
    printf ("Guess the number (1 to 10): ");
    scanf ("%d",&iGuess);
    if (iSecret<iGuess) puts ("The secret number is lower");
    else if (iSecret>iGuess) puts ("The secret number is higher");
  } while (iSecret!=iGuess);

  puts ("Congratulations!");
  return 0;
}
 top
-------------------------------
Irre ist menschlich!
An mia hätt der Freud sei Freud ghabt!
 IP: [ Gespeichert ]
Profil anzeigen WWW
Gast
Gast
« Antwort #20 am: 10.12.2009, 15:50:54 »
also müssen da die C Libs eingebunden werden?
 top
 IP: [ Gespeichert ]
hell

ja malinki angel

*
Kolumnist
Stammtisch HC

schwarze Palme fünfter Dan
Boss
schwarze Palme fünfter Dan

Karma: -251
Beiträge: 22.301

« Antwort #21 am: 10.12.2009, 20:48:20 »
sieht soi aus
 top
-------------------------------
Irre ist menschlich!
An mia hätt der Freud sei Freud ghabt!
 IP: [ Gespeichert ]
Profil anzeigen WWW
Gast
Gast
« Antwort #22 am: 10.12.2009, 21:50:38 »
irgendwie bricht mein Programm bereits vorher ab... -.-
 top
 IP: [ Gespeichert ]
hell

ja malinki angel

*
Kolumnist
Stammtisch HC

schwarze Palme fünfter Dan
Boss
schwarze Palme fünfter Dan

Karma: -251
Beiträge: 22.301

« Antwort #23 am: 12.12.2009, 19:29:50 »
erzeugt es den die ausführbare datei?
 top
-------------------------------
Irre ist menschlich!
An mia hätt der Freud sei Freud ghabt!
 IP: [ Gespeichert ]
Profil anzeigen WWW
Gast
Gast
« Antwort #24 am: 13.12.2009, 16:37:21 »
ja... Die Codefile hab i net mehr... überschrieben... sag mal. warum werden int Variablen ganz komisch ausgegeben?
 top
 IP: [ Gespeichert ]
0 Mitglieder und 1 Gast betrachten dieses Thema.
« vorheriges nächstes »
Drucken
Seiten: [1] 2  Alle nach oben  
« vorheriges nächstes »
Gehe zu:    top

    Newsparadies | Impressum | Powered by SMF 1.0.7.
© 2001-2005, Lewis Media. Alle Rechte vorbehalten.