Alocare


 * Stive: aplicatii**

1. Se citesc numere pana la 0. Memorati intr-o stiva numerele distincte impreuna cu numarul de cifre 0 din acestea(in acelasi nod).

2. Se citesc numere intr-o stiva. Sa se imparta stiva in alte 2 stive, exact la jumatate. Daca stiva are numar impar de elemente se cere sa se elimine elementul din mijloc.

3. Sa se verifice daca 2 stive sunt identice. Stivele se creeaza introducand numere pana la 0, in fiecare.

4. Un fisier text contine mai multe linii de forma: POP x sau PUSH y, reprezentand operatii care trebuie executate asupra unei stive: POP x => se scot din stiva x numere PUSH y => se pune in stiva numarul y. Sa se creeze o stiva asupra careia sa se efectueze toate operatiile specificate. Sa se verifice daca la sfarsit stiva ramane vida. Obs. Daca nu se poate efectua operatia POP, programul se termina si se afiseaza EROARE.

5. Se citesc dintr-un fisier text linii de forma: elev clasa numar_absente a) Creati 4 stive cu elevii si absentele lor, pentru fiecare nivel. (9,10,11,12) b) Afisati numarul de absente pe nivele c) Afisati numarul de elevi de pe fiecare nivel Obs: clasa poate fi: 9A,9B, …12D

6. Scrieti o functie care concateneaza doua stive in prima stiva. (adresele varfurilor vor fi param. in functie)

7. 2 copii dau cu zarul. Aruncarile fiecaruia se memoreaza in cate o stiva. Fiecare da cu zarul pana arunca 6. Cel care are mai multe puncte castiga. Afisati: a) stiva fiecaruia b) numarul de aruncari ale fiecaruia c) castigatorul si punctele lui

8. Se consideră un depou de locomotive cu o singură intrare şi cu o singură linie de cale ferată, care poate cuprinde oricâte locomotive. Să se scrie programul care realizează dispecerizarea locomotivelor din depou.Programul prelucrează comenzi de intrare în depou a unei locomotive, de ieşire din depou a unei locomotive şi de afişare a locomotivelor din depou.

9. Sa se creeze o stiva cu numere citite de la tastatura pana la introducerea lui 0. a) afisati nr pare b) afisati nr situate pe poz pare c) stergeti numere, pana la intalnirea unui nr prim d) afisati elementul de la baza stivei e) afisati numarul de elemente din stiva

10. Se da o stiva cu numerele : 2,4,5,6,7,8 (2 in varful stivei v). a) Afisati folosind numai variabila v: informatia din varf, informatia din nodul urmator. b) Pozitionati o variabila p de tip nod* pe al 3 –lea element din stiva (in 2 moduri diferite). c) dublati numerele impare si injumatatiti valorile pare din noduri.

11. 2 copii au la dispozitie n carti de joc numerotate cu valori de la 1 la n (n par), bine amestecate si dispuse intr-o stiva. Unul dintre ei taie stiva exact in doua: prima parte ii ramane lui, iar cealalta o da celuilalt. Fiecare insumeaza punctele scrise pe carti si castiga cel care a adunat mai multe.

Afisati stiva fiecarui jucator si castigatorul.

<span style="font-family: 'Arial','sans-serif'; font-size: 14.6667px;">12. Se citeste un nr. Afisati numarul in baza 2, creand o stiva cu resturile impartirii nr la 2.

<span style="font-family: 'Arial','sans-serif'; font-size: 14.6667px;">13. a) Sa se verifice daca elementele unei stive formeaza progresie. <span style="font-family: 'Arial','sans-serif'; font-size: 14.6667px;"> b) Sa se afiseze tripletele de elemente alaturate dintr-o stiva care incep si se termina cu aceeasi cifra.

<span style="font-family: 'Arial','sans-serif'; font-size: 14.6667px;">14. Se creeaza 2 stive cu numere citite din fisier. Fiecare stiva se termina la aparitia valorii 0. <span style="font-family: 'Arial','sans-serif'; font-size: 14.6667px;">a) Sa se verifice daca fiecare stiva e ordonata descrescator <span style="font-family: 'Arial','sans-serif'; font-size: 14.6667px;">b) In caz afirmativ, sa se interclaseze cele 2 stive intr-o a treia, ordonata crescator <span style="font-family: 'Arial','sans-serif'; font-size: 14.6667px;">c) In caz afirmativ, sa se interclaseze cele 2 stive intr-o a patra, ordonata crescator, si care sa contina doar elementele comune celor 2 stive.

**Cozi: aplicatii**

1. Se genereaza aleator numere intre 0 si n, pana se genereaza numarul n (n citit inainte). Creati o coada cu fiecare numar si frecventa lui.

2. N persoane stau la coada la casa unui magazin. La un moment dat se mai deschid 2 case. Prima treime ramane pe loc, a doua se muta la casa 2, restul la casa 3, pastrand ordinea. Afisati: Coada initiala si cele 3 cozi finale Obs: n poate sa nu fie multiplu de 3

3. Sa se realizeze un meniu cu principalele operatii efectuate asupra unei cozi: - adaugare element (se va citi de la tastatura) - stergere element (se va afisa elementul care s-a sters) - afisare valori din coada - afisare numar de elemente ale cozii - afisare valori din 2 in 2 (prima, a treia, a cincea etc) MENIU 1.Adaugare 2.Stergere 3.Afisare coada 4.Afisare numar de elemente 5.Afisare 2 6.Iesire

4. Se citeste un numar natural n. Cifrele lui se introduc simultan intr-o coada si intr-o stiva. Folosind doar cele 2 liste, verificati: a) daca n este palindrom b) daca n e divizibil cu 9 c) daca n e divizibil cu 10 d) daca n e divizibil cu 25

5. Din fisierul DATE.In se citesc numere naturale. a) Sa se creeze o coada cu toate numerele palindroame b) Sa se creeze o stiva cu celelalte numere c) Pentru fiecare numar din coada, afisati elementele din stiva mai mari decat el. d) Pentru fiecare numar x din stiva, afisati numerele din coada pana gasiti unul mai mic decat x. Daca s-a parcurs toata coada si nu s-a gasit niciunul, afisati un mesaj.

**Liste**
1. O lista memoreaza copiii unei grupe a gradinitei, insirati pentru un joc. a) vine si Adi, dar vrea sa stea neaparat dupa Ioana b) vine si Cristina, dar vrea sa stea inaintea lui Dan c) Copilul situat dupa Vasile se cearta cu el si pleaca. d) Adi se supara pe Ioana si se muta dupa Vasile Cunoscand numele copiilor, din fisierul text NUME.TXT, realizati: a) creati si afisati lista cu copiii b) afisati numarul de copii din lista c) realizati fiecare operatie de la punctele de mai sus si afisati dupa fiecare lista.

2.Se da o LLSI cu numere intregi. Inserati intre oricare 2 elemente, media lor aritmetica. 3Se da o LLSI cu numere intregi. Stergeti din ea toate elementele nule. 4Se da o LLSI cu numere intregi. Stergeti prima aparitie a maximului si ultima a minimului. 5.Pe o masa e asezata o stiva de carti. Fiecare carte memoreaza titlul, autorul si domeniul. Creati o coada care sa contina toate domeniile si numarul de carti din dom. respective. 6.n avioane sunt insirate pe pista pentru decolare. Fiecarui avion ii trebuie 5 minute pentru a decola. Din cauza conditiilor atmosferice, nu toate reusesc, si atunci ele se aseaza inapoi, la coada, urmand sa mai incerce o decolare. Din fisierul text AVIOANE.TXT se citesc: n, codurile celor n avioane, urmate de o insiruire de DA si NU (date de conditiile atmosferice). Afisati: a) coada initiala b) ordinea in care decoleaza avioanele si numarul de incercari de decolare ale fiecarui avion Obs: avioanele care decoleaza se sterg din lista. Ex: daca AVIOANE.TXT: 3 111 222 333 DA NU NU NU DA DA DA DA Avioanele decoleaza in ordinea: 111 o incercare(prima) 333 2 incercari 222 3 incercari

7. 2 stive de carti (in numar egal) se afla pe o masa. Un copil ia pe rand cate o carte din fiecare si o aseaza intr-o alta stiva. Afisati stiva obtinuta.

8.O altfel de evaluare la engleza Profesoara de engleza a pregatit un test grila pe calculator. Testul va afisa succesiv cate un cuvant in romana si 3 variante de raspuns(doar una corecta). Daca elevul raspunde corect, se va afisa urmatorul cuvant din test, daca nu, cuvantul va fi repetat dupa terminarea celorlalte cuvinte din lista. Testul se repeta pana elevul raspunde corect la toate intrebarile. Pentru fiecare raspuns corect “din prima”, se primesc k puncte. La fiecare repetare a unui cuvant, se scade cate un punct. Scrieti un program care sa simuleze derularea unui astfel de test.

9. Fisierul GRILA.TXT contine pe prima linie un numar k iar urmatoarele linii sunt de forma: cuvant_romana varianta1 varianta2 varianta3 numar_varianta_corecta Se cere: a) Afisati numarul de cuvinte de tradus (ale testului ) b) Creati coada care sa contina datele despre fiecare item al testului grila c) Afisati coada d) Afisati derularea testului: se afiseaza cuvantul in romana, cele 3 variante de raspuns, utilizatorul introduce numarul raspunsului corect, se afiseaza urmatorul cuvant Afisati punctajul total

GRILA.TXT 5 unchi cousin uncle aunt 2 matusa aunt uncle brother 1 sunet noise silent sound 3
 * Exemplu:**

10. Se citesc numere intr-o lista liniara. a) Afisati perechile de elemente alaturate care sunt ambele palindroame b) Inserati intre primele doua si ultimele doua elemente suma acestora. c) Inserati dupa fiecare numar, suma cifrelor acestuia d) Inserati dupa fiecare numar toate cifrele lui. e) Stergeti numerele prime din lista f) Inserati inainte de fiecare numar, prima lui cifra g)sa se stearga primul si ultimul nod al listei. h) sa se ordoneze crescator elementele unei liste liniare i) sa se stearga numerele de valoare maxima dintr-o lista

Liste liniare dublu inlantuite

1. Se creeaza o lista liniara cu numere citite din fisier, al caror numar nu se cunoaste. a) afisati lista de la stanga la dreapta b) afisati lista de la dreapta la stanga c) afisati elementul (elementele ) din mijloc d) schimbati informatiile din primul si ultimul element (nu din santinele) e) afisati perechile de elemente egal departate de margini care au aceeasi suma a cifrelor f) interschimbati primul nr par cu ultimul impar g) cate valori sunt intre primul si ultimul numar prim? h) verificati daca lista are o ordonare (crescatoare sau descrescatoare)

2. Inserari a) inserati dupa toate aparitiile valorii x, patratul acesteia b) inserati inainte de fiecare numar par, valoarea x c) inserati dupa fiecare numar divizibil cu 10, valoarea ultimului element din lista

3. Stergeri a) Stergeti toate aparitiile unui numar multiplu de 5 b) Stergeti valoarea care urmeaza dupa un patrat perfect c) Stergeti tot ce precede primul numar prim d) Stergeti ultimul element din lista (diferit de santinele)

4. Altele a) afisati cea mai lunga secventa crescatoare dintr-o lista b) Se da o lista cu cele n cifre ale unui numar. Sa se elimine din lista o singura cifra astfel incat numarul ramas sa fie cel mai mare posibil. c) suma a 2 polinoame pentru care se memoreaza coeficientii si gradele d) suma a 2 numere mari

5. Fisierul date.in contine numere. Sa se creeze o lista ordonata cu aceste numere. (lista se va crea gata ordonata) Ex: 6 7 1 2 3 5 4 Se creeaza lista astfel: 1) 6 2) 6 7 3) 1 6 7 4) 1 2 6 7 5) 1 2 3 6 7 6) 1 2 3 4 6 7 7) 1 2 3 4 5 6 7


 * Liste circulare **

1. Permutarile cifrelor unui numar 2. Jocul lui Joseph