• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
May 04, 2026, 23:51:27 pm

Login with username, password and session length
Links
  Thmmy.gr portal
   Forum
   Downloads
   Ενεργ. Λογαριασμού
   Επικοινωνία
  
  Χρήσιμα links
   Σελίδα τμήματος
   Βιβλιοθήκη Τμήματος
   Elearning
   Φοιτητικά fora
   Πρόγραμμα Λέσχης
   Πρακτική Άσκηση
   Ηλεκτρονική Εξυπηρέτηση Φοιτητών
   Διανομή Συγγραμμάτων
   Ψηφιακό Καταθετήριο Διπλωματικών
   Πληροφορίες Καθηγητών
   Instagram @thmmy.gr
   mTHMMY
  
  Φοιτητικές Ομάδες
   ACM
   Aristurtle
   ART
   ASAT
   BEAM
   BEST Thessaloniki
   EESTEC LC Thessaloniki
   EΜΒ Auth
   IAESTE Thessaloniki
   IEEE φοιτητικό παράρτημα ΑΠΘ
   SpaceDot
   VROOM
   Panther
  
Πίνακας Ελέγχου
Welcome, Guest. Please login or register.
May 04, 2026, 23:51:27 pm

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Δηλώσεις μαθημάτων επί δι...
by Nikos_313
[Today at 17:35:27]

[ΑΡΑΓΕ Attack] Κεντρική ε...
by Aris★
[Today at 12:46:59]

Πρόγραμμα Εαρινής Εξεταστ...
by Nikos_313
[Today at 12:41:55]

Των συνειρμών το παίγνιο....
by Nikos_313
[Today at 01:03:42]

[Ηλεκτρονική ΙΙ] Γενικές ...
by tony stank
[May 03, 2026, 11:17:34 am]

[Ισχύος II] Γενικές απορί...
by sofi
[May 02, 2026, 22:47:49 pm]

Αποτελέσματα Εξεταστικής ...
by User
[May 01, 2026, 19:00:40 pm]

Αρχείο Ανακοινώσεων [Arch...
by Nikos_313
[April 30, 2026, 09:15:39 am]

Energy Talks 2- IEEE PES ...
by IEEE PES AUTh SBC
[April 29, 2026, 17:00:32 pm]

Πρακτική Άσκηση ΤΗΜΜΥ 201...
by Διάλεξις
[April 29, 2026, 15:15:08 pm]

[Πιθανότητες] Γενικές απο...
by Nikos_313
[April 28, 2026, 23:59:01 pm]

Πληροφορίες καθηγητών
by Hyperlaz02
[April 28, 2026, 17:43:31 pm]

[Αριθμητική Ανάλυση] Γενι...
by tony stank
[April 28, 2026, 16:11:24 pm]

Συγγράματα προς διάθεση -...
by Mr Watson
[April 28, 2026, 10:20:16 am]

Erasmus στο KU Leuven
by Hyperlaz02
[April 27, 2026, 23:28:45 pm]

Εργοτάξιο Μετρό Θεσσαλονί...
by okan
[April 27, 2026, 18:06:43 pm]

[Η/Μ Πεδίο I] Γενικές απο...
by Nikos_313
[April 26, 2026, 01:58:04 am]

Ποιος είναι ο πιο γρήγορο...
by Nikos_313
[April 26, 2026, 01:54:07 am]

Υλικό Job Fair - Ζυρίχη
by Threshold
[April 23, 2026, 23:11:00 pm]

[ΑΡΑΓΕ ΑΤΤΑΚ] ΚΑΛΕΣΜΑ ΣΕ ...
by cvakadimas
[April 23, 2026, 14:11:48 pm]
Στατιστικά
Members
Total Members: 10375
Latest: Fanisk
Stats
Total Posts: 1431041
Total Topics: 32001
Online Today: 735
Online Ever: 18918
(April 06, 2026, 16:05:31 pm)
Users Online
Users: 11
Guests: 263
Total: 274
George15
hari
georgino
IoannisMich
Gaspard
amoinick
Tasos Bot
stefanos hios
Εμφάνιση

Νέα για πρωτοετείς
Είσαι πρωτοετής;... Καλώς ήρθες! Μπορείς να βρεις πληροφορίες εδώ. Βοήθεια για τους καινούργιους μέσω χάρτη.
Κατεβάστε εδώ το Android Application για εύκολη πρόσβαση στο forum.
Ανεβάζετε τα θέματα των εξετάσεων στον τομέα Downloads με προσοχή στα ονόματα των αρχείων!

Νέα!
Ανεβάζετε τα θέματα των εξετάσεων στον τομέα Downloads
με προσοχή στα ονόματα των αρχείων!
THMMY.gr > Forum > Μαθήματα Βασικού Κύκλου > 1ο Εξάμηνο > Δομημένος Προγραμματισμός (Moderators: Tasos Bot, tzortzis, Nekt, tony stank) > [Δομημένος Προγραμ.] Ερώτηση πάνω στη rand( )
0 Members and 1 Guest are viewing this topic.
Pages: [1] Go Down Print
Author Topic: [Δομημένος Προγραμ.] Ερώτηση πάνω στη rand( )  (Read 999 times)
Emfanever
Καταστραμμένος
********
Gender: Male
Posts: 5284


Πολίτης


View Profile
[Δομημένος Προγραμ.] Ερώτηση πάνω στη rand( )
« on: April 23, 2008, 17:50:41 pm »

Πειραματιζόμουν σήμερα με τη rand( ) και πρόσεξα τα εξής:
'Εφτιαξα αρχικά αυτό το πρόγραμμα:
Code:
#include <stdio.h>
#include <stdlib.h>
#define MAX 10

void main()
{
  int x,i;
  double counter=1;

  for (i=0;i<MAX;i++){
      x=rand();
      while (x!=500){
  x=rand();
  counter++;
      }
      printf("%f\n",counter);
  }
}
Κάθε φορά μου έβγαζε τους αριθμούς
16596
55260
121535
188292
222272
238498
241478
313367
345274
405776

Δλδ, κάθε φορά μετά από 16596 επαναλήψεις η rand( ) δίνει τον αριθμό 500.
Άρα υπέθεσα ότι η rand( ) βγάζει τους αριθμούς με μια συγκεκριμένη σειρά και όχι τόσο τυχαία.

Στη συνέχεια έφτιαξα αυτό το πρόγραμμα
Code:
#include <stdio.h>
#include <stdlib.h>

void main()
{
   int x;
   double i;
 

  for (i=1;i<=16596;i++)
  x=rand();

  printf("%d\n",x);
}

και όπως περίμενα έβγαλε σαν αποτέλεσμα τον αριθμό 500.

Και τελικά με αυτό
Code:
#include <stdio.h>
#include <stdlib.h>

void main()
{
   int x;
   double i;
 

  for (i=1;i<=10;i++){
      x=rand();
      printf("%d\n",x);
  }
}

είδα ότι κάθε φορά που τρέχει η rand( ) για πρώτη φορά δίνει τον αριθμό 346,
αν τρέξει 2η φορά στο ίδιο πρόγραμμα δίνει τον 130 κ.τ.λ.
Είναι λογικό αυτό??
« Last Edit: April 23, 2008, 20:16:54 pm by Emfanever » Logged
Wanderer
Καταστραμμένος
********
Gender: Male
Posts: 5230


Othoum Endron Saous


View Profile
Re: [Δομημένος Προγραμ.] Ερώτηση πάνω στη rand( )
« Reply #1 on: April 23, 2008, 22:08:57 pm »

Νομίζω ναι. Στηρίζεται σε έναν τύπο η rand() για να παράγει τιμές, για αυτό από ό,τι θυμάμαι από ένα παράδειγμα που είχα δει και χρησιμοποιούσε τη rand(), έτρεχε ένας ατέρμων βρόγχος μέχρι ο χρήστης να πατήσει ένα πλήκτρο. Σε κάθε επανάληψη του βρόγχου, αποδίδονταν μία τιμή στη rand(). Αφού δεν ξέρει τί τιμή θα αποδίδει η rand() αν πατήσει το κουμπί σε π.χ. 2.01 δευτερόλεπτα, πρακτικά η επιλογή θα είναι τυχαία.

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

Από ό,τι θυμάμαι από το help του borland C++ υπάρχει η εντολή randomize(); που τρέχεις πριν τη rand() και η srand(..). Στην τελευταία μπορείς να δώσεις παράμετρο ctime (πρέπει να κάνεις include το time.h) για να δώσει τιμές με βάση την ένδειξη του ρολογιού του υπολογιστή.

« Last Edit: April 23, 2008, 22:11:24 pm by Wanderer » Logged

Preserve and keep us safe this night     *and our innocence made fun of justice*

Once we dreamt of everything
united by our love
There's a place for everyone
so we scream "Liberta"
Pages: [1] Go Up Print
Jump to:  

Powered by SMF | SMF © 2006-2009, Simple Machines LLC
Scribbles2 | TinyPortal © Bloc | XHTML | CSS
Loading...