Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: problema structuri de date si algoritmi  (Citit de 1658 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
gheorghe_corina
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 7



Vezi Profilul
« : Mai 04, 2014, 22:41:09 »

Concepeți și implementați un algoritm care folosind o coadă cu extragere aleatoare generează
numerele câștigătoare la loto astfel: se generează numerele de la 1 la 99 și se poziționează pe poziții
aleatoare în coadă și se extrag aleator cele cinci numere.
Va rog frumos daca ma puteti ajuta,raman datoare!!!!
Memorat
gheorghe_corina
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 7



Vezi Profilul
« Răspunde #1 : Mai 07, 2014, 19:45:31 »

Generezi aleator cele 99 de numere si le pui in coada, apoi generezi
aleator 5 numere intre 1-99 si extragi de pe cele 5 pozitii ale cozii,
numerele memorate acolo.(am cerut o explicatie pt aceasta problema si am primit asta)
Memorat
freak93
Echipa infoarena
Nu mai tace
*****

Karma: 342
Deconectat Deconectat

Mesaje: 819



Vezi Profilul
« Răspunde #2 : Mai 07, 2014, 22:55:17 »

Am sa iti zic cum generezi un numar. Daca nu te descurci cu restul iti sugerez sa rezolvi tipuri mai usoare de probleme.

Exista o functie in stdlib.h (sau cstdlib) numita rand. Aceasta functie rand genereaza numere intre 0 si INT_MAX care pe infoarena e 2^31 - 1, pe borland c e 2^15 - 1 iar cand lucrezi pe 64 de biti e 2^63 - 1 (toate aceste numere sunt mult mai mare decat 99).

Acum daca vrei sa generezi un numar aleator intre X si Y (inclusiv) cea mai buna solutie este sa generezi un numar random cu rand() si sa iei restul impartirii acestui numar la (Y - X + 1) la care aduni X. De ce? Pentru ca restul e intre 0 si Y - X inclusiv, daca aduni X o sa obtii un numar intre X si Y inclusiv, exact ce iti doreai.

Cod:
#include <stdlib.h>
#include <time.h>
...
...
int main() {
    srand(time(NULL));
...
   obtine cumva X si Y
...
   int numar = rand() % (Y - X + 1) + X;
...
   fa ce vrei cu numar
...
}

Acel srand(time(NULL)) e oarecum necesar ca sa obtii numere diferete de fiecare data cand iti rulezi programul.
Memorat
gheorghe_corina
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 7



Vezi Profilul
« Răspunde #3 : Mai 09, 2014, 09:02:01 »

multumesc frumos am reusit
era o problenma pentru facultate si trebiua sa o predau
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines