PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probs mit randomize



Bartleby
25-01-2002, 22:41
Hey ihr Linuxer!

Ich hab mir ein C++-Buch geleistet, um mal in die Tiefen dieser tollen Programmiersprachen zu dringen. Leider hab ich ein Buch für die Win-Version erwischt.
Damit hab ich bei mehreren Beispielen schon Probleme mit der randomize-Funktion :(
Und zwar kommt folgender Fehler beim kompilieren mit g++:

array4.cpp: In function `int main(...)':
array4.cpp:7: implicit declaration of function `int randomize(...)'
/usr/include/stdlib.h:398: too many arguments to function `long int random()'
array4.cpp:10: at this point in file

Too many arguments?? Ich hab doch kaum welche. Hier mein Code-Schnipsel:

#include <iostream.h>
#include <stdlib.h>
const short laenge=10;
void main (void)
{
int i,imax,feld[laenge];
randomize();
for (i=0;i<laenge;i++)
{
feld[i]=random(100);
cout<<"\n"<<feld[i];
}
imax=feld[0];
for (i=1;i<laenge;i++)
if (feld[i]>feld[imax])
imax=i;
cout<<"\nMaximales Feldelement\n"<<imax<<"\nWert\n"<<feld[imax];
}


Was kann ich tun? Is ja nich nur bei dem gewesen, auch schon bei vorangegangenen. Ich brauch die Funktion!


Danke
Rene

tkortkamp
25-01-2002, 22:53
Hallo,
random (s. man random) initialisiert den zufallsgenerator!
rand (s. man 3 rand) ohne argumente gibt eine zufällige zahl aus!

cya,
Tobias

rup
26-01-2002, 12:01
Hallo Bartleby,

hier ein ganz einfaches Beispiel fuer Zufallszahlen (Zahlen zwischen 1 und 49), ich hoffe es hilft.

Gruss Rupert

#include<iostream>
#include<time.h>
#include<stdlib.h>

int main()
{
srand((unsigned)time(NULL));
cout << "Zahl zwischen 1 und 49: " << 1+(rand()%49);
}

Bartleby
26-01-2002, 22:43
Hallo rup!

Danke, das hab ich gesucht!

Thx
Rene

Bartleby
30-01-2002, 20:00
So, ich hab jetzt nur ein Problem: er gibt immer immer zwei nacheinander identische Zufallszahlen aus. Beispiel:
1
9
9
6
5
3
3
7
....

Und das immer!

rup
30-01-2002, 20:34
hallo Bartleby,


Ich habe ein kleines Lottoprog geschrieben, kannst ja mal schauen vieleicht hilft es dir:
http://www.ruwela.com/Cpp-Beispiele/node5.html

Da ich aber selbst gerade C++ lerne ist das sicher keine Musterloesung sondern nur eine Moeglichkeit die bei mir funktioniert.

Eventuell fuehrst du die Zeile: "srand((unsigned)time(NULL))" zu schnell hintereinander aus.

Guss Rupert