CodeMan Δημοσ. 9 Δεκεμβρίου 2003 Δημοσ. 9 Δεκεμβρίου 2003 Kalispera!8elw na paragw tyxaious ari8mous mesa se sygekrimena oria. Px tous ari8mous apo 1 ews 13.Yparxei kapoia synartisi pou na kanei kati tetoio??
ancalagon Δημοσ. 9 Δεκεμβρίου 2003 Δημοσ. 9 Δεκεμβρίου 2003 Paste apo to MSDN. The rand function returns a pseudorandom integer in the range 0 to RAND_MAX. Use the srand function to seed the pseudorandom-number generator before calling rand #include <stdlib.h> #include <stdio.h> #include <time.h> void main( void ) { int i; /* Seed the random-number generator with current time so that · the numbers will be different every time we run. */ srand( (unsigned)time( NULL ) ); /* Display 10 numbers. */ for( i = 0; i < 10;i++ ) printf( “ %6d\n”, rand() ); } Output 6929 8026 21987 30734 20587 6699 22034 25051 7988 10104
Dvs Δημοσ. 9 Δεκεμβρίου 2003 Δημοσ. 9 Δεκεμβρίου 2003 Diairese ton aritmo pou tha pareis apo tin sinartisi me to 14
baxter Δημοσ. 10 Δεκεμβρίου 2003 Δημοσ. 10 Δεκεμβρίου 2003 file codeman, i apadisi einai poly apli arkei na to skefteis ligo... an thes random arithmous metaxy tou arithmou x kai tou arithmou y (opou x<y) kaneis to exis : result = y - random(x) den hreiazesai kapoia alli synartisi
CodeMan Δημοσ. 10 Δεκεμβρίου 2003 Μέλος Δημοσ. 10 Δεκεμβρίου 2003 den yparxei re sy random sth C!baxter! ancalagon to exw dei kai egw ayto sto MSDN...den einai afto pou zhtaw.. Dvs 8a to dokimasw ayto pou les..
Opaque Δημοσ. 10 Δεκεμβρίου 2003 Δημοσ. 10 Δεκεμβρίου 2003 An katalaba kala,8eleis tyxaioys ari8moys metaksy 1 kai 13. Pisteyw oti ayto 8a kanei thn doyleia : int y; y=1+rand()%13; Dvs wrote : Diairese ton aritmo pou tha pareis apo tin sinartisi me to 14 File Dvs,an gia paradeigma h synarthsh epistrepsei 280, tote 280/14=20>13. filika opaque
Dvs Δημοσ. 10 Δεκεμβρίου 2003 Δημοσ. 10 Δεκεμβρίου 2003 to ipoloipo tha parei re paidia to ipoloipo tha einai panta mikrotero apo ton aritmo pou to diaireis! Mathimatika dimnasiou re paidia! P.x 10/5 = 2 ,0 <5 11/5 = 2 ,1 <5 12/5 = 2 ,2 <5 13/5 = 2 ,3 <5 14/5 = 2 ,4 <5 15/5 = 3 ,0 <5
Directx Δημοσ. 10 Δεκεμβρίου 2003 Δημοσ. 10 Δεκεμβρίου 2003 > #include <stdio.h> #include <stdlib.h> #include <time.h> int iIndex; int main() { /* TODO: Connect rand with PC clock */ srand( (unsigned) time(NULL) ); /* TODO: Generate random numbers from 1 to 13 */ for(iIndex=0;iIndex!=13;iIndex++) { /* TIP: rand()%14<- rand()+Maximum_Number+1 */ printf("%d\n",rand()%14); } } > Output: 9 2 6 0 11 1 8 13 13 11 3 10 3 Υ.Γ. Περί random & randomize αντί srand & rand 1ον)Η ρουτίνα randomize δεν υπάρχει διότι ουσιαστικά είναι ένα “micro” στην srand( (unsigned) time(NULL) );. Ορισμένες C την παρέχουν (πχ. Borland Turbo C, Borland C Compiler κοκ) ενώ κάποιες άλλες όχι (πχ. Microsoft C 6.00 for DOS). TIP: Αν θες να αυξήσεις την απόδοση τυχαίων αριθμών, μπορείς να ρυθμίσεις την srand ως ( (unsigned) GetTickCount() ); αν προγραμματίζεις στα Windows 2ον) Το ίδιο συμβαίνει και με την ρουτίνα random όπου μπορεί να αντικατασταθεί (αν δεν υπάρχει) με τον τύπο srand()% +1 από την ανώτερη επιθυμητή τιμή (αν θέλουμε ως 13 rand()%14 αν θέλουμε ως το 15 τότε rand()%16 κοκ..) Καλή τύχη.
baxter Δημοσ. 10 Δεκεμβρίου 2003 Δημοσ. 10 Δεκεμβρίου 2003 result = y - random(x) codeman otan egrapsa to parapanw den to egrapsa san edoli... vlepeis kana ";" sto telos ? ektos aftou kalitera na xereis prin miliseis.. edoli random yparhei kai hrisimopoieitai mazi me tin randomize(); > random <STDLIB.H> Macro that returns an integer Declaration Macro: - random(num); Function: - int random(int num); Remarks random returns a random number between 0 and (num - 1). random(num) is a macro defined in STDLIB.H. Return Value Returns an integer between 0 and (num - 1). tsiou
ee3509 Δημοσ. 10 Δεκεμβρίου 2003 Δημοσ. 10 Δεκεμβρίου 2003 Se Borland gia 1-13, den xreiazete na kanoume ta pragmata periploka #include<iostream.h> #include<iomanip.h> #include<conio.h> #include<stdlib.h> void main() { int i; clrscr(); randomize(); for(i=1;i<=40;i++) cout<<random(13)+1<<endl; getch(); }
blackeye Δημοσ. 10 Δεκεμβρίου 2003 Δημοσ. 10 Δεκεμβρίου 2003 pes ta re ee3509..................................mia apli random() se borland c++ 5.02 #include <stdlib.h> int random(int num); Description Random number generator. random returns a random number between 0 and (num-1). random(num) is a macro defined in stdlib.h. Both num and the random number returned are integers. Return Value random returns a number between 0 and (num-1).
Directx Δημοσ. 11 Δεκεμβρίου 2003 Δημοσ. 11 Δεκεμβρίου 2003 Όταν λέμε ότι οι ρουτίνες randomize & random δεν υπάρχουν εννοούμε ότι δεν συμπεριλαμβάνονται στις ρουτίνες ANSI C οπότε οι κατασκευαστές C compilers δεν υποχρεούται να τις συμπεριλάβουν στις βιβλιοθήκες τους και στα header αρχεία τους. Αν λοιπόν μας ενδιαφέρει το maximum porting του κώδικα μας, καλύτερα να βασιζόμαστε στις srand και rand που προβλέπονται από το ANSI C στάνταρτ. Τώρα, μιας και ο λόγος περί Borland C/C++ Compiler (χρησιμοποιώ τον 5.6.4 του Borland C/C++ Builder), δοκιμάστε να χρησιμοποιήσετε τις ρουτίνες randomize & random ζητώντας αυστηρό ANSI C compilation.. δηλαδή BCC32 –Α source.c , ο compiler (στην έκδοση μου), ορθά, δεν θα αναγνωρίσει τις συγκεκριμένες ρουτίνες καθώς δεν προβλέπονται από το πρότυπο ANSI C (αλλά εντάσσονται στις Borland extensions –AT που είναι default άλλωστε) οπότε το σχόλιο του CodeMan για ανυπαρξία random στην (ANSI) C ήταν σωστό..
baxter Δημοσ. 11 Δεκεμβρίου 2003 Δημοσ. 11 Δεκεμβρίου 2003 poly to travixame to thema... file directX, an deis to topic o codeman milaei gia c++ kai ohi gia ansi c.. tespa,oi protaseis eginan ,as apofasisei aftos ti tha kanei..
ancalagon Δημοσ. 12 Δεκεμβρίου 2003 Δημοσ. 12 Δεκεμβρίου 2003 Ena teleutaio post pano sto arxiko mou. The rand function returns a pseudorandom integer in the range 0 to RAND_MAX. O kodikas einai ANSI C me oti auto simainei(kai emena me para3enepse oti i Microsoft ypostirizei akomi ANSI C, ;-) ). To mono pou exeis na kaneis einai to RAND_MAX=12 kai ean i o epistrefomenos tyxaios na kaneis i++. Apo ekei pera oti exete proteinei eite einai wrapper autou tou pragmatos eite kolpakia gia na metafertheite sto pedio timon pou thelete. O kathenas dialegei auto pou ton boleuei
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.