Sog96Ch Δημοσ. 14 Νοεμβρίου 2014 Δημοσ. 14 Νοεμβρίου 2014 Θελω στην γλωσσα C να μου βγαλει εναν τυχαιο αριθμο με 3 ή 4 ή 5 ψηφια αλλα μου βγαινει ενας αριθμος καθε φορα και εχει περισσοτερα απο 5 ψηφια (μου βγαζει 2686780 ανεξαρτητως ποσα ψηφια θα βαλω (3-5)) #include <stdio.h>#include <stdlib.h>#include <time.h> int main() { int Digits;srand(time(NULL)); do { printf("\nHow many digits do you want to use (3-5)? "); scanf ("%d", &Digits); } while (Digits>5 || Digits<3); int Random ;Random=rand() % (10^Digits)-1 ;printf("%d\n", &Random);system("PAUSE");}
albNik Δημοσ. 14 Νοεμβρίου 2014 Δημοσ. 14 Νοεμβρίου 2014 Αν θες π.χ 4-ψηφιο ειναι μεταξύ 1000-9999 δλδ rand()%9000+1000 1
Sog96Ch Δημοσ. 14 Νοεμβρίου 2014 Μέλος Δημοσ. 14 Νοεμβρίου 2014 Το είπα λάθος εννοώ ένα. Αριθμό με 4 ψηφία θέλω να μπορεί να ξεκινάει από μηδέν Edit: Και να ειναι λαθος της δυναμης παλι δεν μου το βγαζει γιατι ειχα πατησει για δοκιμη Random=rand() %999 και παλι τα ιδια
Technology fan Δημοσ. 14 Νοεμβρίου 2014 Δημοσ. 14 Νοεμβρίου 2014 Δεν υπάρχει integer αριθμός που να αρχίζει με μηδέν, δηλαδή το 0001 ή το 0153 μπορεί εσύ να το καταλαβαίνεις, αλλά στον integer δεν μπορείς να του δώσεις τέτοια μορφή. Αν θέλεις κάνει τέτοιο μόνο αν το μετατρέψεις σε πινακα από char
Sog96Ch Δημοσ. 14 Νοεμβρίου 2014 Μέλος Δημοσ. 14 Νοεμβρίου 2014 Δεν υπάρχει integer αριθμός που να αρχίζει με μηδέν, δηλαδή το 0001 ή το 0153 μπορεί εσύ να το καταλαβαίνεις, αλλά στον integer δεν μπορείς να του δώσεις τέτοια μορφή. Αν θέλεις κάνει τέτοιο μόνο αν το μετατρέψεις σε πινακα από charΑυτό θα το έκανα μετά, αλλά κολλάω πιο νωρίςΌπως έχω κάνει τις εντολές μου βγάζει τον αριθμό που σας είπα πάνω ανεξάρτητα αν το digits είναι 3 ή 4 ή 5 Εδιτ Πχ μου βγάζει 2686780 τέτοια νούμερα
Technology fan Δημοσ. 14 Νοεμβρίου 2014 Δημοσ. 14 Νοεμβρίου 2014 αυτό το έκανες? Το ^ είναι xor operator.Βάλε pow Δείξε τον κώδικα που τρέχεις και βγάζεις αυτά τα περίεργα...
Sog96Ch Δημοσ. 14 Νοεμβρίου 2014 Μέλος Δημοσ. 14 Νοεμβρίου 2014 Θα στον στείλω σε λίγο Πάντως δεν πιστεύω ότι φταίει δύναμη μονο Γιατί όταν δεν μου δούλευε είχα βάλει rand()%10 για να δω εάν δουλεύει και πάλι μου έβγαζε τα ίδια Σας ευχαριστώ που με βοηθάτε για να βρω την λύση
nkarama Δημοσ. 14 Νοεμβρίου 2014 Δημοσ. 14 Νοεμβρίου 2014 Γιιατί τυπώνεις το reference του Random ? 1
Sog96Ch Δημοσ. 14 Νοεμβρίου 2014 Μέλος Δημοσ. 14 Νοεμβρίου 2014 Γιατί θέλω να δω Ποιο είναι (μετά θα το βάλω όλο σε if και θα ρωτάω τον χρήστη εάν θέλει να δει Ποιο είναι)
παπι Δημοσ. 14 Νοεμβρίου 2014 Δημοσ. 14 Νοεμβρίου 2014 Το είπα λάθος εννοώ ένα. Αριθμό με 4 ψηφία θέλω να μπορεί να ξεκινάει από μηδέν Edit: Και να ειναι λαθος της δυναμης παλι δεν μου το βγαζει γιατι ειχα πατησει για δοκιμη Random=rand() %999 και παλι τα ιδια Τοτε βαλε σε μια for να σου εκτυπωνει ενα αριθμο απο το 0 εως το 9. Οι επαναληψεις σου θα ειναι τα ψηφια σου. 1
migf1 Δημοσ. 14 Νοεμβρίου 2014 Δημοσ. 14 Νοεμβρίου 2014 Επειδή είναι πολύ εύκολο, σου δίνω απευθείας κώδικα, αλλά χωρίς σχόλια (για να διατηρήσω μια πιθανότητα να ασχοληθείς να τον καταλάβεις αν είναι να τον παραδώσεις, ώστε να μη φανεί πως απλά τον αντέγραψες όταν σου ζητηθεί να τον εξηγήσεις προφορικά). #include <stdio.h> #include <stdlib.h> #include <time.h> int main( void ) { int n = 5; int r = 0; int mul = 1; srand( time(NULL) ); for (int i=0; i < n; i++) { r += (rand() % 10) * mul; mul *= 10; } printf( "%d\n", r ); return 0; }
nkarama Δημοσ. 15 Νοεμβρίου 2014 Δημοσ. 15 Νοεμβρίου 2014 Γιατί θέλω να δω Ποιο είναι (μετά θα το βάλω όλο σε if και θα ρωτάω τον χρήστη εάν θέλει να δει Ποιο είναι) Εχω την εντύπωση οτι τυπώνεις την διεύθυνση της μεταβλητής και όχι το περιεχόμενο της μεταβλητής... Βέβαια, με αυτή τη C ποτέ δεν ξέρεις....
Sog96Ch Δημοσ. 15 Νοεμβρίου 2014 Μέλος Δημοσ. 15 Νοεμβρίου 2014 Βρηκα αυτο με τον τυχαιο αριθμο στον κωδικα μου αλλα δεν εχω τελειωσει ακομα. Τωρα ειδα μια σημειωση με αποτελεσμα να πρεπει να διορθωσω κατι απο πιο πριν
Sog96Ch Δημοσ. 15 Νοεμβρίου 2014 Μέλος Δημοσ. 15 Νοεμβρίου 2014 Καπου κολλησα τωρα, πρεπει να κανω μια συναρτηση που θα μετατρεπει ενα θετικο ακεραιο σε αλφαριθμητικο, αλλα δεν μπορω να σκεφτω πως να το κανω. Μετα απο αυτο θα συγκρινω τον τυχαιο αριθμο με ενα αριθμο που εβαλε ο χρηστης θα ειναι και τα 2 αλφαριθμητικα, εχω κολλησει στο πρωτο με αποτελεσμα να μην μπορω να κανω το δευτερο. Πειτε μου τι θα μπορουσα να κανω (αλλα δεν θελω απαντηση)
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα