Informatică, întrebare adresată de Rayzen, 8 ani în urmă

Ajutati-ma cu acest exercitiu va rog.
Rezolvarea sa fie in C/C++.

Anexe:

Răspunsuri la întrebare

Răspuns de Seckar
5
Generarea random in C++ o faci cu doua include-uri, random.h si time.h.

Inainte de orice in main iti setezi random seed-ul cu srand(time(NULL));

Apoi folosesti functia rand(); ca sa generizu un intreg la intamplare. Functia in sine genereaza o secventa de cifre care sunt unrelated la nu stiu ce nivel matematic si apoi le alipeste intr-un numar coerent. 

Tu daca vrei spre exemplu un numar random intre 50 si 100 o sa faci:

int n = 50 + rand() % (100 - 50);

Deci pentru rand intre x si y ai:

int x = x + rand() % (y - x);

Acu pentru spirala, am dezbatut ceva timp daca sa iti dau un algoritm cu vreo 3 greseli in el, sau care sa iti parcurga in spirala in sens invers dar este o problema relativ dificila si pentru liceu asa ca o sa iti dau o implementare care iti copiaza parcurgerea in spirala intr-un vector cu care apoi poti face ce vrei tu. Doar ca ar trebui -1 din cod sa il inlocuiesti cu un numar care NU apare in matrie, desi este banal inainte de algoritm sa parcurgi odata matricea si sa iei un numar negativ care nu apare acolo.



Anexe:
Alte întrebări interesante