panakaigiotis Δημοσιεύτηκε Νοέμβριος 8, 2009 #1 Δημοσιεύτηκε Νοέμβριος 8, 2009 μηπως ξερει κανεις πως μπορω να τροποποιησω στην c την παρακατω συναρτησηint RandomInteger (int low, int high) {int k; double d; d = (double)rand()/((double) RAND_MAX+1); k = (int) (d*(hidh - low +1)); return (low +k); } ετσι ωστε να μου δειχνει εκτος απο αριθμους και συμβολα και γραμματα ?:...:
darien Νοέμβριος 8, 2009 #2 Νοέμβριος 8, 2009 Η rand από μόνη της δίνει μόνο αριθμούς.Για να γίνει αυτό που θες, πρέπει να φτιάξεις έναν πίνακα και να βάλεις μέσα όλους τους χαρακτήρες που θες. Μετά θα καλείς την rand με υπόλοιπο (%) το μέγεθος του πίνακα.Δηλαδή, ας πούμε ότι έχεις έναν πίνακα array με το αγγλικό αλφάβητο.ο κώδικας θα είναι:char array[26]="abcde...";char k = array[rand()%26];όπου k ο τυχαίος χαρακτήρας που θες
panakaigiotis Νοέμβριος 8, 2009 Author #4 Νοέμβριος 8, 2009 Κατι ακομη τελευταιο στον παρακατω κωδικα ποιο ειναι το λαθος και δεν μου εμφανιζει τους τυχαιους αριθμους μετα την εκτελεση του προγραμματος #include <stdio.h> #include <stdlib.h> #include <time.h> #define N 200 int RandomInteger (int low, int high) { int k; double d; d = (double)rand()/((double) RAND_MAX+1); k = (int) (d*(high - low +1)); return (low +k); } main() { int numbers[N]; int i , K; srand((int)time(NULL)); do { printf("Dwse timh gia K: "); scanf("%d", &K); }while(K <= 15); for( i = 0; i < N; i++) { numbers = RandomInteger(1 , K); } printf("%d\n", numbers); }
Recommended Posts
Archived
This topic is now archived and is closed to further replies.