TIPURI STRUCTURATE DE DATE
TIPUL TABLOU
Se da un numar intreg n suficient de mare (de tip longint). Sa se afiseze toate numerele obtinute prin permutarea circulara la dreapta a cifrelor numarului.
Ex pentru n=123456 se vor tipari numerele
Cerinta de lucru cifrele numarului n se vor introduce intr-un vector (prima componenta a vectorului retinand ultima cifra a numarului, a doua componenta a vectorului retinand penultima cifra a numarului s.a.m.d); componentele vectorului se vor schimba astfel incat prima componenta a vectorului sa retina prima cifra a numarului, a doua componenta a vectorului sa retina a doua cifra a numarului s.a.m.d; in final nu se vor tipari vectorii obtinuti in urma permutarilor, ci se vor construi numerele avand drept cifre componentele acestor vectori (aceste numere fiind cele care se tiparesc).
Se da un numar intreg n. Sa se tipareasca sirul:
1 -1 -1 1 -1 -1 -1 1 -1 -1 -1 -1 1...
n cifre
Se da un vector cu elemente numere intregi. Sa se mute la sfarsitul vectorului elementele sale nule, pastrand ordinea celorlalte elemente
a) folosind un vector auxiliar
b) fara a folosi un vector auxiliar
Ex daca initial vectorul este (2,3,0,9,0,0,8) in final va rezulta (2,3,9,8,0,0,0)
Se da un vector cu elemente numere intregi. Sa se elimine elementele nule din vector si intre doua elemente consecutive de acelasi semn sa se introduca produsul lor.
Ex: daca initial vectorul este (2,-3,0,-2,-8,0,0,2,3,4) in final va rezulta (2,-3,6,-2,16,-8,2,6,3,12,4)
Se da un sir cu n componente naturale (1 n 100).Sa se afiseze cel mai mic numar natural care se poate alcatui luand prima cifra a fiecarui element al sirului.
Ex: pentru n=4 si elementele (234,7650,19,2) numarul este 1227.
Se citeste de la tastatura un sir cu n elemente numere naturale, nu neaparat distincte.Sa se afiseze elementul care apare de cele mai multe ori in sir.daca exista mai multe astfel de elemente, se vor afisa toate.
Ex: pentru n=5 si elementele (23,7,11,7,19,7,11,11) se vor afisa elementele 7 si 11 care apar fiecare de cate trei ori
Indicatii: Se ordoneaza crescator vectorul v in care se memoreaza sirul.Dupa ordonare, elementele identice vor fi succesive in vector.Se folosesc alti doi vectori u si f: fiecare u[i] va fi un element distinct al vectorului v, iar f[i] va reprezenta frecventa de aparitie a lui u[i] in vectorul v.Parcurgem vectorul sortat v si la fiecare pas comparam elementul curent v[i] cu cel urmator.Daca sunt diferite s-a identificat un nou element distinct al lui v (v[i+1]), care se adauga la sfarsitul lui u, initializand totodata cu 1 un element nou la sfarsitul vectorului f; in caz contrar se incrementeaza componenta din f care indica frecventa elementelor egale v[i] si v[i+1].
Se citesc de la tastatura doua numere naturale foarte mari, care pot avea pana la 70 de cifre fiecare.Sa se afiseze suma celor doua numere.
Indicatii: Numere atat de mari nu pot fi reprezentate in memorie nici macar cu ajutorul tipului longint.Singura solutie este sa se memoreze cifrele numerelor in vectori.Pentru adunarea celor doua numere se va opera asupra vectorilor.Se parcurg "in paralel" cei doi vectori de cifre de la dreapta la stanga.La fiecare pas se insumeaza elementele aflate pe pozitii identice in cei doi vectori, cu memorarea rezultatului pe aceeasi pozitie intr-un al treilea vector.Daca o astfel de suma depaseste 10, inseamna ca elementul corespunzator din vectorul-suma va fi diferenta dintre suma obtinuta si 10, iar pe de alta parte vom avea un transport egal cu 1 catre pozitia urmatoare.Daca suma nu depaseste 10, atunci ea se va memora ca atare in vectorul suma.
Se citeste un sir cu n elemente numere naturale.Sa se re-aranjeze numerele in sir astfel incat cele pare sa ocupe primele pozitii in ordine crescatoare.
Ex: daca sirul initial este (7,8,5,2,10,4) atunci dupa re-aranjare devine (2,4,8,10,7,5)
Numim platou de lungime k intr-un sir de numere intregi, o secventa de k elemente identice (cu aceeasi valoare).Scrieti un program care afiseaza toate platourile de lungime maxima existente intr-un sir dat cu n elemente.
Ex: in sirul (1,2,2,2,3,4,4,5,5,5) intalnim platourile (2,2,2), (4,4) si (5,5,5), iar cele de lungime maxima sunt primul si al treilea.
Indicatii: Se retin in doua variabile p si q pozitiile care reprezinta capetele fiecarui platou identificat si lungimea maxima in variabila lmax initializata cu 1.Se identifica platourile prin parcurgerea vectorului intr-un ciclu cat timp i<=n.La fiecare pas se cauta un platou incepand cu pozitia i, avansand in vector cat timp intalnim elemente consecutive egale (unde initial i=1).Daca lungimea platoului astfel determinat, adica q-p-1 este mai mare decat lungimea maxima lmax, atunci ea devine noua lungime maxima. In final, printr-o noua parcurgere a vectorului, identificam toate platourile de lungime maxima si le afisam: pentru fiecare element v[i] testam daca este egal cu v[i+lmax].
Se citeste de la tastatura un sir de numere naturale.Sa se afiseze toate grupurile de numere din sir care au aceeasi divizori factori primi.
Ex: Fie sirul (12,15,2,36,32).Grupurile afisate vor fi: (12,36) cu divizorii primi 2 si 3, (15) cu divizorii primi 3 si 5, (2,32) cu divizorul prim 2.
Indicatii: Daca sirul are n numere, se va lucra cu doi vectori v si f astfel: fiecare element v[i] va fi un numar din sirul dat, iar f[i] va reprezenta produsul factorilor primi ai lui v[i], cu i=1,2,.,n.Daca doua elemente ale sirului au acelasi produs de factori primi, atunci elementele in cauza vor avea aceeasi factori primi, deci in vectorul f se pot evidentia grupurile cerute.Se ordoneaza crescator vectorul f (folosind oricare dintre algoritmii de sortare).In final se afiseaza grupurile cerute prin parcurgerea vectorului f, grupurile cerute nefiind altceva decat platourile din vector.(vezi problema anterioara).
Se da un vector v cu n componente numere naturale, avand p cifre, unde n si p sunt numere naturale citite de la tastatura.Se cere sa se afiseze numarul format astfel: prima cifra a noului numar este cifra maxima dintre cifrele de pe prima pozitie ale fiecarei componente, a doua cifra a noului numar este cifra maxima dintre cifrele de pe a doua pozitie ale fiecarei componente s.a.m.d
Ex: pentru n=3, p=4 si vectorul initial (7293,5687,3241) numarul format este 7697
Politica de confidentialitate |
.com | Copyright ©
2024 - Toate drepturile rezervate. Toate documentele au caracter informativ cu scop educational. |
Personaje din literatura |
Baltagul – caracterizarea personajelor |
Caracterizare Alexandru Lapusneanul |
Caracterizarea lui Gavilescu |
Caracterizarea personajelor negative din basmul |
Tehnica si mecanica |
Cuplaje - definitii. notatii. exemple. repere istorice. |
Actionare macara |
Reprezentarea si cotarea filetelor |
Geografie |
Turismul pe terra |
Vulcanii Și mediul |
Padurile pe terra si industrializarea lemnului |
Termeni si conditii |
Contact |
Creeaza si tu |