albNik Δημοσ. 28 Απριλίου 2013 Share Δημοσ. 28 Απριλίου 2013 A[i][j]=rand() %81+10 Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
rafail1994 Δημοσ. 28 Απριλίου 2013 Μέλος Share Δημοσ. 28 Απριλίου 2013 Ευχαριστώ αλλά να πω την αλήθεια δεν κατάλαβα πως λειτούργει. Δηλαδή οι αριθμοί που έβαλες είναι κάποιο διάστημα ; ,το + τι σημαίνει (από ότι δοκίμασα μπορώ να βάλω και -,/,* ) ; Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
albNik Δημοσ. 28 Απριλίου 2013 Share Δημοσ. 28 Απριλίου 2013 Το υπόλοιπο διαίρεσης (%) με 81 είναι στο διαστημα [0,80] +10 παμε στο [10, 90] Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
rafail1994 Δημοσ. 28 Απριλίου 2013 Μέλος Share Δημοσ. 28 Απριλίου 2013 Ωραία τώρα το κατάλαβα ευχαριστώ ! Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Timonkaipumpa Δημοσ. 28 Απριλίου 2013 Share Δημοσ. 28 Απριλίου 2013 Για την ακρίβεια... δεν θα είναι ακριβώς τυχαίες οι τιμές.. Για να πάρεις όσο πιο δυνατό τυχαίες τιμές θα μπορούσες να γράψεις κάτι σαν: foo[i][j] = 10 + (( (rand() * 1.0) / (RAND_MAX + 1.0) )* 80); Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
rafail1994 Δημοσ. 28 Απριλίου 2013 Μέλος Share Δημοσ. 28 Απριλίου 2013 Μάλιστα .... και από θέμα προγραμματισμού νομίζω αυτός είναι και ο ποιο κάλος τρόπος Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
albNik Δημοσ. 28 Απριλίου 2013 Share Δημοσ. 28 Απριλίου 2013 Δεν κερδίζεις τίποτα με το να μετατρέψεις το [0, RAND_MAX] σε double [0.0 , 1.0] Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Timonkaipumpa Δημοσ. 28 Απριλίου 2013 Share Δημοσ. 28 Απριλίου 2013 Δεν κερδίζεις τίποτα με το να μετατρέψεις το [0, RAND_MAX] σε double [0.0 , 1.0] Famous last words.... Μπορεί στις περισσότερες περιπτώσεις το κέρδος να μην φαίνεται, αλλά είναι πιο "τυχαίο" (από άποψη κατανομής) το αποτέλεσμα έτσι. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
albNik Δημοσ. 28 Απριλίου 2013 Share Δημοσ. 28 Απριλίου 2013 Παιρνουμε και οι δυο ενα rand(), εγώ του κάνω την πράξη X, εσυ την Υ. (και οι δύο πράξεις είναι ντετερμινιστικες ), Γιατι το δικό σου αποτέλεσμα να είναι πιο "τυχαίο" ? 1 Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Timonkaipumpa Δημοσ. 28 Απριλίου 2013 Share Δημοσ. 28 Απριλίου 2013 Don't re-invent... re-use. Διάβασε εδώ, τα λέει ωραία. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
albNik Δημοσ. 28 Απριλίου 2013 Share Δημοσ. 28 Απριλίου 2013 (επεξεργασμένο) Έκατσα και υπολόγισα (το pc δλδ, όχι εγώ ) τους 2 τύπους ( % και double) για όλα τα rand [0, int.MAX] για να μετρήσω τις συχνότητες των τιμών [10, 90]. Αργεί κάπου 15-20 sec (μετράει 0 εως 2^31) static void Main() { int[] countX = new int[90]; int[] countY = new int[90]; for(int rand = 0; rand < int.MaxValue; rand++) { int x = rand % 80 + 10; // X method countX[x]++; int y = (int)(10 + ((rand * 1.0 / (int.MaxValue + 1.0)) * 80)); // Y method countY[y]++; } for(int i = 10; i < 90; i++) Console.WriteLine("Freq " + i + " : " + countX[i] + " " + countY[i]); } Η συχνότητα το εμφανίσεων είναι 26843545 η 26843546 σε όλους (int.Max /80 δλδ) Επεξ/σία 29 Απριλίου 2013 από albNik Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Timonkaipumpa Δημοσ. 28 Απριλίου 2013 Share Δημοσ. 28 Απριλίου 2013 Επειδή είναι αρκετό υλικό που θα πρέπει κανείς να αναλύσει, εάν σε ενδιαφέρει διάβασε το link που σου έδωσα. Εάν δεν, no worries. Cheers. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
albNik Δημοσ. 28 Απριλίου 2013 Share Δημοσ. 28 Απριλίου 2013 Οκ καταλαβα , επειδη το MAX δεν διαιρείται απο το 80 ,εχει υπόλοιπο 47 , τότε με τη μέθοδό μου οι αριθμοί 10 μέχρι 10+ 47 έχουν συχνοτητα κατα ενα μεγαλύτερη απο τους αλλους [58 μεχρι 89]. Ενώ με το double είναι πιο ανακατεμένοι αυτοί μου έχουν συχνότητα +1. Η διαφορα είναι ποιους αριθμους επιλέγει η καθε μεθοδος να βάζει +1 συχνότητα. Δλδ με τι δικιά μου έχουν λιιιιιιγο μεγαλύτερη πιθανότητα η αριθμοί [10, 57] ενώ με τι δικιά σου οι αριθμοί 10, 11, 13 ...20, 23, .... Αν βάλω το rand =int.MAX τοτε και στο 89 ειναι ΟΚ η μεθοδός σου. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
rafail1994 Δημοσ. 1 Μαΐου 2013 Μέλος Share Δημοσ. 1 Μαΐου 2013 Πρέπει να φτιάξω δυο συναρτήσεις όπου και οι δυο θα δέχονται συντεταγμένες (x,y) με τύπο float και θα επιστέφουν μετά από υπολογισμούς πάλι συντεταγμένες (x,y) η ερώτηση είναι εγώ τι τύπο συνάρτησης να χρησιμοποιήσω; Στην εκφώνηση της άσκηση λέει για void εγώ ξέρω ότι την void την χρησιμοποιούμε όταν η συνάρτηση δεν επιστέφει κάποια τιμή ,εγώ τώρα τι να βάλω ; Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
παπι Δημοσ. 1 Μαΐου 2013 Share Δημοσ. 1 Μαΐου 2013 google pass by pointer tip: Καλο ειναι να φτιαξεις μια δομη Point Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα