| Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme. |
Diskussion: srand(); funktioniert nicht ganz im Forum Code Kitchen, in der Kategorie Software Home; Anzeige erstmal der code: Code: #include <time.h> #include <stdlib> int zufall; zufall = 0 + ( (srand( (unsigned) time(NULL))) % ...
![]() |
| | #1 (permalink) |
| Registriert seit: 27.12.07 ![]() Likes: 39 | Anzeige erstmal der code: Code: #include <time.h> #include <stdlib> int zufall; zufall = 0 + ( (srand( (unsigned) time(NULL))) % ( 7 - 0 + 1 ) ); /*für unsigned auch schon eine echte unsigned int eingesetzt*/ //soll zufallszahl zwischen 0 und 7 erzeugen verwendet wird dev-c++ danke im voraus für hilfe Wolfy
__________________ You shoot yourself in somebody else's foot.|Dann gabs da noch den Mathematiker der P?=NP in O(1) erklärte. |[A]| = p(·,|[A]|)+1 |
| | |
| | #2 (permalink) |
| Guest Likes: | Benutz doch rand()%8 Dies wird dir bei Integern eine Zahl zwischen 0 und 7 auswerfen, denn 8 waere ja wieder 0. mfg sw33t |
|
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Senior Member Registriert seit: 03.09.05 ![]() Likes: 0 | Das Problem liegt übrigens darin, dass srand() keine Zufallszahl zurückgibt, sondern nur den Zufallszahlengenerator initialisiert. Daher ist der Returntyp void. Und man kann "nichts" nicht in einer Berechnung verwenden, daher die Fehlermeldung. Daher solltest du normalerweise nur einmal zu Beginn srand() aufrufen und danach die Zufallszahlen mit rand() erzeugen. |
| | |
| | #5 (permalink) |
| Registriert seit: 17.02.06 ![]() Likes: 0 | Sag mal, was hälst Du davon, Operationen in einen Funktionsrumpf zu packen? Zum Beispiel ganz 0-8-15-mäßig in eine main-Funktion? Die dann auch vom Betriebssystem zum Start des Programms aufgerufen werden kann? Edit: Es wird compilierbar sein, wenn Du die Wertzuweisung in die Variablendefinition (als "Initialisierung") hineinpackst. Es ist dann aber noch lange nicht linkbar... Besser so: [C++] acces violation bei string? (gelöst) |
| | |
| | #6 (permalink) |
| Registriert seit: 18.08.06 ![]() Likes: 0 | srand(time(NULL)); zufall = 0 + rand(); das rand() erzeugt dann die zufallszahl man kann auch bestimmte Zufallsbereiche bestimmen. z.b. mit rand()%49+1 erzeugt z.b. Zahlen zwischen 1 und 49 soweit mich nicht alles täuscht. Für dein Beispiel in dem Fall: srand(time(NULL)); zufall = rand()%7; |
| | |
| | #7 (permalink) |
| Von der Sache her, ist die Funktion in math.h implementiert. Also müsstest du die noch einbinden. | |
| | |
| | #8 (permalink) |
| Themenstarter Registriert seit: 27.12.07 ![]() Likes: 39 | @ctp.flokati: hab ich nicht es funktioniert aber, von daher: danke an alle helfenden!
__________________ You shoot yourself in somebody else's foot.|Dann gabs da noch den Mathematiker der P?=NP in O(1) erklärte. |[A]| = p(·,|[A]|)+1 |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Problem in C++(srand Funktion) | Overflow.exe | Code Kitchen | 4 | 25.11.07 22:48 |
| Ein nicht ganz jugendfreier Witz... | sTEk | Fun Section | 4 | 22.04.06 00:16 |
| IP Multicasting - kapier ich nicht ganz | steven85 | Network · LAN, WAN, Firewalls | 8 | 16.02.06 23:05 |
| Sicherheit, ganz oder gar nicht? | freak4fun | Cryptography & Encryption | 11 | 05.02.05 22:13 |
| RAM nicht ganz erkannt | Chris | Die Problemzone | 10 | 16.05.03 23:39 |