george1703 Δημοσ. 13 Ιανουαρίου 2018 Δημοσ. 13 Ιανουαρίου 2018 Θελω να κάνω μια συνάρτηση που να παράγει αριθμούς τυχαίους απο 0 έως 1. Εχω τον παρακάτω κώδικα όμως κάθε φορά που τον τρέχω μου βγάζει ίδιους αριθμους. πως μπορώ να το κάνω να βγάζει διαφορετικούς? (μετράω τους αριθμους που είναι πανω απο 0,6 με sum1 και αυτους που ειναι μικροτεροι με sum2) int main() { float x; int i; int sum1=0,sum2=0; for (i=1;i<=30000;i++){ x=(double)rand() / (double)RAND_MAX ; printf("%2.2f \n",x); if (x>0.6){ sum1++; }else{ sum2++; }} printf("%d %d \n",sum1,sum2); return 0; } ευχαριστώ όσους βοηθησουν
dimxyp Δημοσ. 13 Ιανουαρίου 2018 Δημοσ. 13 Ιανουαρίου 2018 Καλησπέρα, Δεν γνωρίζω από c αλλά είμαι γνώστης της r. Ίσως σε βοηθήσω ίσως και όχι. Για να παράγεις τυχαίους αριθμούς από 0-1 καλό θα ήταν να χρησιμοποιήσεις την ομοιόμορφη κατανομή (0,1). Θεωρώ ότι λογικά θα υπάρχει σαν εντολή. Απλά googlare λίγο προς αυτή τη κατεύθυνση και το πιθανότερο είναι να βρεις κάτι...
stergem Δημοσ. 13 Ιανουαρίου 2018 Δημοσ. 13 Ιανουαρίου 2018 https://www.tutorialspoint.com/c_standard_library/c_function_srand.htm Περιληπτικά: Οι αριθμοί αυτοί της rand είναι ψευδοτυχαίοι, όταν δίνεις το ίδιο φύτρο παίρνεις την ίδια ακολουθία αριθμών. Συνήθως γράφεις: srand(time(NULL)); στην αρχή του προγράμματός σου και είσαι καλυμμένος. (θα πρέπει να κάνεις include και την time.h) 2
Kourkounatos Δημοσ. 13 Ιανουαρίου 2018 Δημοσ. 13 Ιανουαρίου 2018 (επεξεργασμένο) srand(time(NULL)); Βαλε στην αρχη του κωδικα σου και #include <time.h> Ισως να ειναι και αυτο: double r2() { return (double)rand() / (double)RAND_MAX ; } Επεξ/σία 13 Ιανουαρίου 2018 από Kourkounatos
george1703 Δημοσ. 13 Ιανουαρίου 2018 Μέλος Δημοσ. 13 Ιανουαρίου 2018 1 ώρα πριν, Kourkounatos είπε srand(time(NULL)); Βαλε στην αρχη του κωδικα σου και #include <time.h> Ισως να ειναι και αυτο: double r2() { return (double)rand() / (double)RAND_MAX ; } το time το χρειαζομαι για αλλη συναρτηση
Rurouni89 Δημοσ. 17 Ιανουαρίου 2018 Δημοσ. 17 Ιανουαρίου 2018 https://www.tutorialspoint.com/c_standard_library/c_function_srand.htm
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα