Προς το περιεχόμενο

rand για C++


skull

Προτεινόμενες αναρτήσεις

Δημοσ.

Γεια και χαρα σε ολους ειμαι καινουργειος χρηστης και εχω μια απορεια... :D

Χρησημοποιω την C++ για μια εργασια της σχολης και εχω κολλησει στη εντολη rand! :cry:

Η ερωτηση :Οταν τοποθετουμε την rand( ) μεσα σε μια συναρτηση οπως για παραδειγμα x=rand()+100 !Σε αυτην την περιπτωση τι τιμες περνει η rand!

Νομιζω οτι ειναι πολυ απλο και επειδη δεν το εχουμε διδαχθει ως τωρα... ρωτησα και μου την ειπανε αλλοι πως να την χρησημοποιησω και νομιζω την χρησημοποιω καλα μεσα στο προγραμματακι μου που παιζει τελεια... :D Αλλα πρεπει να μαθω και καποια πραγματα...ετσι? :wink:

Δημοσ.

Δηλαδη παντα η rand() χρησημοποιητε με ενα συγκεκριμανο τροπο! :D

Εγω την εχω χρησημοποιησει ετσι: int x = ((rand()*RAND_MAX)%12);

και αυτο γιατι θελω να διαλεξει αριθμους απο το 1 μεχρι το 11(?) αφου το RAND_MAX 11

Δημοσ.
Δηλαδη παντα η rand() χρησημοποιητε με ενα συγκεκριμανο τροπο!

Εγω την εχω χρησημοποιησει ετσι: int x = ((rand()*RAND_MAX)%12);

και αυτο γιατι θελω να διαλεξει αριθμους απο το 1 μεχρι το 11(?) αφου το RAND_MAX 11

 

Όχι ! Το χ είναι από 0 έως 11 επειδή υπάρχει το %12 (παίρνεις το υπόλοιπο της διαέρεσης του αριστερού ορίσματος όταν διαιρεθεί με το 12)

 

Η συνάρτηση rand() επιστρέφει έναν ακαίραιο μεταξύ 0 και RAND_MAX.

Στη συνέχεια τον αριθμό αυτόν τον πολλαπλασιάζεις με το RAND_MAX και παίρνεις mod 12

Δημοσ.
Δηλαδη παντα η rand() χρησημοποιητε με ενα συγκεκριμανο τροπο!

Εγω την εχω χρησημοποιησει ετσι: int x = ((rand()*RAND_MAX)%12);

και αυτο γιατι θελω να διαλεξει αριθμους απο το 1 μεχρι το 11(?) αφου το RAND_MAX 11

 

Όχι ! Το χ είναι από 0 έως 11 επειδή υπάρχει το %12 (παίρνεις το υπόλοιπο της διαέρεσης του αριστερού ορίσματος όταν διαιρεθεί με το 12)

 

Η συνάρτηση rand() επιστρέφει έναν ακαίραιο μεταξύ 0 και RAND_MAX.

Στη συνέχεια τον αριθμό αυτόν τον πολλαπλασιάζεις με το RAND_MAX και παίρνεις mod 12

 

OK!Καταλαβα...ευχαρηστω!

Αν θελω η rand() να επιστρεφει ακαιραιους απο 2μεχρι 11,χωρις το 5 και το 6???Γινετε??

Δημοσ.
apla vazeis ti rand() na sou dinei arithmous apo to 0 ews to 9 kai sto apotelesma prostheteis 2.. sti sineheia elegheis an o arithmos sou einai 5 i 6 kai an einai xanaprospatheis

 

:cry: :cry:

Tωρα κατι μας ειπες για την συγκρηση αριθμων..αν και το ειχαμε κανει! :D

Παντως πολυ καλο το κολπο αυτο που μου ειπες!Thnx! :wink:

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...