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

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

Δημοσ.

Ας πούμε ότι έχουνε ένα εύρος από 1 έως 60...

Πως γίνεται να φτιάξω μια συνάρτηση που να μου φέρνει μια τυχαία τιμή από αυτό το εύρος κάθε μέρα!

 

Δηλαδή να μην δημιουργεί τυχαία τιμή με κάθε refresh αλλά μόνο μια τυχαία τιμή κάθε μέρα...

 

Γίνεται??? Καμιά ιδέα???

Δημοσ.

Λες με κάθε refresh αλλά μόνο μια κάθε μέρα, δηλαδή μια Random τιμή κάθε μέρα ε;

 

Βασικά το θες για Desktop ή Web Εφαρμογή;

 

Όποια επιλογή και να διαλέξεις θα πρέπει κάπου να αποθηκεύσεις την πληροφορία για την ώρα, μου φαίνεται λίγο χοντρό να χρησιμοποιείς μια ΒΔ για κάτι τέτοιο (για μια πληροφορία μόνο εννοώ)

 

Μήπως να αποθήκευες τις πληροφορίες αυτές σε ένα αρχείο, όπου κάθε φορά πριν δώσει έναν τυχαίο αριθμό θα διαβάζει από το αρχείο την πληροφορία και θα πράττει ανάλογα.

Δημοσ.

Λες με κάθε refresh αλλά μόνο μια κάθε μέρα, δηλαδή μια Random τιμή κάθε μέρα ε;

 

Βασικά το θες για Desktop ή Web Εφαρμογή;

 

Όποια επιλογή και να διαλέξεις θα πρέπει κάπου να αποθηκεύσεις την πληροφορία για την ώρα, μου φαίνεται λίγο χοντρό να χρησιμοποιείς μια ΒΔ για κάτι τέτοιο (για μια πληροφορία μόνο εννοώ)

 

Μήπως να αποθήκευες τις πληροφορίες αυτές σε ένα αρχείο, όπου κάθε φορά πριν δώσει έναν τυχαίο αριθμό θα διαβάζει από το αρχείο την πληροφορία και θα πράττει ανάλογα.

 

Μπορεί να χρησιμοποιήσει και το μητρώο για να αποθηκεύει την πληροφορία.

Δημοσ.

Απλά κάνεις ακέραια διαίρεση με 60 -- αυτό σου επιστρέφει υπόλοιπο από 0 μέχρι 59. Προσθέτεις και 1 και έχεις ένα νούμερο από 1 μέχρι 60.

Από εκεί και πέρα, κάπου θα πρέπει να αποθηκεύεις μια "τυχαία" τιμή, κάθε μέρα, που θα την διαιρείς με το 60.

 

φιλικά,

Δημοσ.

Γεια σου υπάρχει μια συνάρτηση στην C++ η

οποια μπορει να κανει την δουλεια που θέλεις

και λεγεται rand() για να την χρησιμοποιεισεις

πρεπει να καλεσεις πρωτα την βιβλιοθηκη

cstdlib.Αν θες βοηθεια στειλε μου εμαιλ

random.txt

Δημοσ.

Αυτό που λέει ο Downloadpercent. Κάποιες παραπάνω λεπτομέρειες που χρειάζονται:

 

  1. Γλώσσα προγραμματισμού;
  2. Ξέρεις πώς να παράγεις τυχαίο αριθμό από 1 ως 60; (Αν έχεις στα χέρια σου τυχαίο αριθμό από 0 ως Χ τότε όπως λέει ο mtsouk μόνο που δεν κάνεις διαίρεση, παίρνεις το υπόλοιπο της διαίρεσης που λέγεται modulo -- αν έχεις τυχαίο αριθμό στο διάστημα [0, 1) τότε πολλαπλασιάζεις με 60 και προσθέτεις 1).
  3. Θέλεις ένα τυχαίο αριθμό κάθε ημερολογιακή μέρα ή κάθε 24 ώρες μετά τον προηγούμενο;

Δημοσ.

Ένας τρόπος είναι να αποθηκεύεις σε ένα αρχείο 2 νούμερα, το τυχαίο κι ένα για την σημερινή ημερομηνία (όλες οι γλώσσες παρέχουν τρόπους να διαβάσεις τη σημερινή ημερομηνία, είτε offline από το ρολόι του συστήματος, είτε online από το internet).

 

Κάθε φορά που τρέχεις το πρόγραμμά σου θα διαβάζεις τη σημερινή ημερομηνία και θα τη συγκρίνεις με αυτή που έχεις αποθηκευμένη στο αρχείο σου. Αν διαφέρουν *, θα παράγεις και θα εμφανίζεις ένα τυχαίο νούμερο από το 1 έως το 60 (και θα το σώζεις και στο αρχείο μαζί με τη νέα ημερομηνία). Αν δεν διαφέρουν θα τυπώνεις αυτό που είναι αποθηκευμένο στο αρχείο (το οποίο και δεν θα το πειράζεις).

 

* αν θέλεις να εξασφαλίσεις ότι πρόκειται ακριβώς για την επόμενη μέρη, μπορείς να κάνεις πιο εξειδικευμένο έλεγχο από το απλά να διαφέρουν.

Δημοσ.

Μία ακόμα λύση είναι κάθε φορά που θες να παράγεις τον αριθμό να κάνεις seed τη γεννήτρια με έναν αύξοντα αριθμό ημέρας (π.χ. Julian date ή ο,τιδήποτε άλλο παρόμοιο) και έπειτα να παίρνεις τον πρώτο τυχαίο αριθμό που σου παράγει η γεννήτρια.

Δημοσ.

Μια ακόμα τεχνική για να έχεις συνεπείς τυχαίες τιμές (λίγο οξύμωρο αυτό) είναι να αποθηκεύεις την τυχαία τιμή σε ένα αρχείο σε μη temporary χώρο που θα έχει το timestamp (date+time) της τελευταίας δημιουργημένης τιμής.

 

Κάθε φορά που θέλεις μια τυχαία τιμή, ελέγχεις το αρχείο και την επιστρέφεις αν δεν έχουν περάσει 24 ώρες ή δεν έχει αλλάξει η μέρα. Αν έχει περάσει, δημιουργείς μια νέα τιμή, την αποθηκεύεις και αλλάζεις το timestamp.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...