Sunteți pe pagina 1din 5

Atestat 2012.

Subiecte programare

Atestat 2012. Subiecte programare


1. Se citesc de la tastatura n (n<=100) numere naturale, cu cel mult 9 cifre fiecare. Scrieti un program care pentru o cifr k citit de la tastatura, afiseaz pe ecran cte numere prime n scrierea crora apare cifra k, se gsesc n sirul dat. Exemplu: pentru n=4 , cifra k=2 si valorile citite 23, 603, 122, 27 se obtine numarul nr = 1, care corespunde valorii 23 . 2. Se citeste de la tastatur un numr natural n cu cel mult nou cifre. Scrieti un program care verific dac exist un numr natural k cu proprietatea c n=1*2*3**k. Daca exista un astfel de numar, programul va afisa mesajul Da si valoarea k , altfel va afisa mesajul Nu. 3. n fiierul valori.txt se gsesc pe prima linie maximum 1000 de numere ntregi desprite printr-un spaiu. Scriei un program care s determine valoarea maxim i valoarea minim, mpreun cu numrul de apariii al maximului, respectiv al minimului. Exemplu:coninutul fiierului valori.txt este : 24 3 89 24 1 3 1 1 89, atunci se vor afia rezultatele: min = 1 nr_aparitii = 3 max = 89 nr_aparitii = 2 4.Fiierul unu.in conine pe primul rnd valoarea n ( 2n1000000 ), iar pe a doua linie se gsesc n numere ntregi formate din cel mult 9 cifre i desprite prin spaiu. tiind c fiierul conine cel puin dou numere distincte printre cele n de pe a doua linie, scriei un program care s scrie n fiierul unu.out pe o singur linie i separate printr-un spaiu, n ordine descresctoate, cele mai mari dou valori distincte din fiierul de intrare. Exemplu : unu.in unu.out 10 -8 14 8 14 15 9 -7 1 4 10 15 14 5. Fiierul text numere.in conine pe prima linie un numr natural n (0n5000), iar pe a doua linie n numere naturale de cel mult 9 cifre fiecare, separate prin cte un spaiu. S se scrie un program care citete n, apoi cele n numere naturale din fiierul numere.in i scrie n fiierul numere.out, pe cte o linie fiecare, numerele de pe a doua linie a fiierului numere.out care sunt palindroame cu exact patru cifre. 6.Se citete de la tastatura (1<n <100), si apoi n perechi de cte dou numere ntregi a si b cu ( a < b) reprezentnd capetele intervalului[a, b]. Afisati pe ecran , dac exist, capetele intervalului de intersectie al celor n intervale citite. n cazul n care nu exist intervalul de intersectie se afiseaz 0. De exemplu, pentru n=3 si perechile [-1,20], [-4,9], [-7, 12] , obtinem solutia [-1 , 9] . 7. Se citesc de la tastatur n numere naturale, cu cel mult 9 cifre fiecare. Scriei un program care afieaz cifra care apare de cele mai multe ori n numerele citite. Dac exist mai multe astfel de cifre se vor afia toate. 8. Se citete de la tastatur un numr natural n cu maxim cinci cifre. Afiai cel mai apropiat numr fa de n care are aceeai sum a cifrelor.(Daca sunt doua numere cu aceasta proprietate se vor afisa amandoua.) 9.Se citesc n numere naturale. S se ordoneze numerele cresctor dup numarul de divizori. Exemplu: Pt. n=4 si numerele 12,4,6,13 se vor afisa 13,4,6,12 . 10. Se citete n numr natural (n<50) i apoi se introduc pe rnd n numere ntregi. S se afiseze numerele prime si sa se calculeze media lor aritmetica.(mesaj daca nu exista astfel de numere.) 11. Se citeste de la tastatur un numr natural n cu cel mult 9 cifre. Sa se afiseze cel mai mare si cel mai mic numar care se pot forma cu cifrele distincte ale numarului. 12. Se citeste din fisierul numar.txt un numr natural n. S se verifice daca contine numai cifre distincte folosind un vector de frecvente pentru cifrele sale. 13. Scrieti un program care afiseaz pe ecran toate numerele naturale cu exact k cifre (k <5) care sunt rotunde(numerele care convertite in binar au acelasi numar de 0 respectiv de 1). Exemplu: 12=>1100 este rotund; 13 =>1101 nu este rotund )

Atestat 2012. Subiecte programare


14. Fiierul text numere.in conine pe prima linie un numr natural n (0<n<1000), iar pe a doua linie n numere naturale cu cel mult 9 cifre fiecare, desprite prin cte un spaiu. Scriei un program C/C++ care citete toate numerele din fiier i afieaz pe ecran, separate prin cte un spaiu, numerele de pe a doua linie a fiierului, care sunt formate din cifre identice. Exemplu: dac fiierul numere.in are coninutul: 9 55 107 3 101 99 7 208 2222 80 numerele ce se vor afia sunt: 55 3 99 7 2222 15.Fiierul atestat.txt conine pe prima linie un numr natural n (n100), iar pe a doua linie, separate prin cte un spaiu, n numere naturale nenule, cu cel mult 9 cifre fiecare. Scriei programul C/C++ care afiseaza pe ecran numerele ordonate crescator dupa cifra de control a fiecaruia. (c(4568)=c(4+5+6+8)=c(23)=5). 16. Fiierul numere.in conine pe prima linie maxim 100 de numere naturale ordonate crescator.Verificati , folosind o metoda eficienta, daca numarul x citit de la tastatura se afla in acest sir. 17. Dat n natural, sa se descompuna ca suma de puteri distincte ale lui 2. Exemplu : 25=24+23+20. 18. S se scrie un program care sa citeasca un numar natural cu maxim 9 cifre si sa construiasca alte 2 numere astfel : primul sa contina cifrele pare ale nr. initial si al doilea cifrele impare. Ex : Daca n=2134506se vor obtine numerele 240 si 135. 19. S se afieze primele n perechi de numere prime gemene, unde n este un numr natural nenul citit de la tastatur. Exemplu: se citete: n=4 se afieaz: (3 ; 5) ; (5 ; 7) ; (11 ; 13) ; (17 ; 19) 20. Se citesc n (n<=100) numere naturale nenule. S se precizeze cu cte zerouri se va termina produsul numerelor fr a calcula efectiv produsul lor. Exemplu: se citete:n=3 si numerele25, 12, 9 se afieaz: 2 zerouri 21. Se citete un numr natural n. S se afieze toate numerele prime mai mici dect n acare au suma cifrelor mai mic dect un alt numr natural m citit tot de la tastatura. Exemplu: se citete: n= 30 i m=7 se afieaz: 2, 3, 5, 11, 13, 23 22. Fiierul matrice.txt conine pe primul rnd dou valori naturale m i n (1n100, 1m100), reprezentnd numrul de linii i respectiv de coloane ale unei matrice a, iar pe urmtoarele m linii cte n valori ntregi cu maximum 4 cifre fiecare, separate prin cte un spaiu, reprezentnd elementele matricei a. Afiai pe ecran un ir de 2*(n+m) 4 numere ordonate cresctor, ir format din elementele aflate pe chenarul exterior al matricei a. Chenarul exterior este format din prima i ultima linie, respectiv prima i ultima coloan din matrice. Exemplu: dac matricea dat este : 3 4 1 2 3 4 5 6 7 8 9 1 2 3 se va afia irul : 1 1 2 2 3 3 4 5 8 9. 23. Se citete de la tastatur o valoare natural m (2m100). Scriei programul C/C++/Pascal care construiete n memorie i apoi afieaz pe ecran matricea a cu m linii i m coloane de numere ntregi, construit dup urmtoarea regul : elementul de pe linia i i coloana j a matricii ( 1i , jm) este : 1 dac i*i+j*j este ptrat perfect 2 dac i*i+j*j nu este ptrat perfect, dar este numr prim mai mare dect 2 3 n rest. Exemplu: pentru m = 2, se va afia matricea : 3 2 2 3 24. Se citete un vector v cu n (n<=100) componente numere naturale. S se afieze cel mai mare numr care se poate forma cu cifra maxim a fiecrui numr din vector. Exemplu: se citete: n= 5 i v=(29, 171, 0, 2222, 100) se afieaz: 97210

Atestat 2012. Subiecte programare


25. Se consider o matrice de dimensiune m*n (m,n<=20) cu elemente numere naturale. S se afieze numerele cu numr impar de divizori din matrice i s se indice numrul lor. 26. Fie un vector v cu n elemente numere ntregi citite de la tastatur. Fr a folosi alt vector auxiliar, s se mute la sfritul lui v elementele sale nule, pstrnd ordinea celorlalte elemente. Exemplu: se citete: n=7 i vectorul v=(2,3,0,9,0,0,8) se afieaz: v=(2,3,9,8,0,0,0) 27. Fie a o matrice ptratic de dimensiune n (n<=20) . Folosind o funcie de ordonare a unui vector de dimensiune k, afiai matricea modificat prin ordonarea cresctoare a liniilor impare. 28. Fisierul matrice.in conine pe prima linie un numr natural n (0n50), iar pe urmtoarele 2*n linii cte n numere naturale de cel mult 5 cifre fiecare, separate prin cte un spaiu reprezentnd elementele a dou matrice a i b cu cte n*n elemente fiecare. Verificai dac b este obinut din a prin rotirea spre stnga cu 270 de grade, afind un mesaj afirmativ sau nu. Exemplu: Dac fiierul matrice.in are urmtorul coninut : 3 123 345 567 531 642 7 5 3 atunci se va afia DA 29. Dat o matrice cu elemente numere ntregi de dimensiune n*m (n,m<=20) s se determine punctele sa din matrice, adic elementele care sunt minime pe linia lor si maxime pe coloana lor. n cazul n care nu exist se va afisa mesajul NU. 30. Fie n si m doua numere naturale citite de la tastatura( n,m<=20). Sa se formeze un tablou bidimensional cu n linii si m coloane cu primele n*m numere naturale prime. 31. Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n<20), construiete n memorie i afieaz pe ecran o matrice cu n linii i n coloane, numerotate de la 1 la n. Fiecare element din matrice aflat pe o linie impar va fi egal cu numrul liniei pe care se afl iar elementele de pe linii pare s fie completate cu valorile de la n la 1. Elementele matricei vor fi afiate pe ecran, cte o linie a matricei pe cte o linie a ecranului cu cte un spaiu ntre elementele fiecrei linii. Exemplu: pentru n=5 se va afia matricea de mai jos 11111 54321 33333 54321 55555 32. Sa se construiasc si s se afiseze n fisierul matrice.out , o matrice patratica de ordinul n (n<=10) stiind ca elementul din pozitia i,j este egal cu minimul dintre i si j. Afisarea se realizeaz prin parcurgerea matricei sub form de L. 33. Fiierul text NUMERE.IN conine pe prima linie un numr natural nenul n (1n1000) i pe urmtoarea linie n numere reale pozitive separate prin cte un spaiu. Scriei un program C/C++ care citete din fiierul NUMERE.IN numrul natural n, i determin, utiliznd un algoritm eficient din punct de vedere al timpului de executare i al memoriei utilizate, pozitia pe care se afl primul i ultimul numr din cele n numere reale care sunt egale cu valoarea minim dintre ele. Exemplu: Dac fiierul NUMERE.IN are coninutul: 6 2.8 2.3 5.7 5.7 2.3 6.3 atunci se afieaz 2 si 5 (valoarea minim este 2.3 si numerele de pe poziia 2 si 5 sunt egale cu 2.3) 34. Scriei un program C/C++ care citete de la tastatur un numr natural n (1<=n<=20), elementele unei matrice cu n linii i n coloane, numere naturale din intervalul [1, 100] i afieaz pe ecran m1 i m2, unde m1 este media aritmetic a elementelor neprime ale matricei, situate deasupra diagonalei principale, iar m2 este media aritmetic a elementelor patrate perfecte ale matricei, situate sub diagonala principal. Cele dou medii se consider egale cu 0 dac nu exist valori strict pozitive n zonele corespunztoare.

Atestat 2012. Subiecte programare


35. Scriei un program C/C++ care citete de la tastatur numerele ntregi m i n (1<=m<=50, 1<=n<=50) i elementele unui tablou bidimensional cu m linii i n coloane, numere naturale de cel mult 4 cifre fiecare. Programul va afia pe prima linie a ecranului numrul de elemente prime de pe fiecare coloana a matricii, separate prin cte un spatiu. 36. Fie x un vector de numere ntregi de lungime n (n<=50). S se construiasc un vector de tip structura care sa contina elementele distincte ale vectorului initial si frecventele de aparitie. 37. Scriei un program care citete de la tastatur dou numere naturale nenule m i n i care construiete n memorie i apoi afieaz o matrice A cu m linii i n coloane cu proprietatea c fiecare element aij memoreaz cmmmc(i,j). Matricea se va afia n fisierul matrice.txt, cte o linie a matricei pe cte o linie a ecranului, elementele fiecrei linii fiind separate prin cte un spaiu. 38. Se citesc de la tastatur doi vectori cu n respectiv m elemente (n,m<=50). Daca sunt multimi, afisati elementele comune. 39. Scrieti un program care construieste n memorie o matrice ptratic de ordin n cu elemente numere naturale astfel nct pe diagonala principal s existe numai elemente egale cu 1, elementele de pe cele dou semidiagonale paralele cu diagonala principal si alturate diagonalei principale s fie toate egale cu 2, elementele de pe urmatoarele dou semidiagonale s fie egale cu 3,etc. Valoarea lui n se citeste de la tastatur, iar matricea se va afia pe ecran. Pentru n=4 se va afisa tabloul : 1234 2123 3212 4321 40. Se citeste de la tastatur o matrice a cu m linii si n coloane, ale crei elemente sunt cifre de la 0 la 9 (0<=m,n<=5). S se afiseze suma numerelor care se pot forma cu cifrele fiecrei linii (numrul aferent fiecrei linii se va obtine prin citirea cifrelor de pe linia respectiv de la stnga la dreapta, ignorndu-se zerourile de la inceputul liniei). Exemplu : Pentru matricea : 03825 00514 0 7 7 9 3 se va afisa valoarea 12132 reprezentnd suma 3825+514+7793. 41. Scrieti un program care construieste n memorie o matrice t ptratic de ordin n cu elemente numere naturale astfel nct pe ultima coloan si pe ultima linie s se afle numai elemente egale cu 1, iar oricare alt element al matricei s fie egal cu suma dintre elementul aflat imediat sub el si elementul aflat imediat n dreapta lui. Exemplu : Pentru n =4 se va afisa tabloul urmator : 20 10 4 1 10 6 3 1 4 3 2 1 1 1 1 1 42. Scriei programul C++ care citete de la tastatur un ir s de cel mult 30 de caractere i un caracter c. Programul determin triplarea fiecrei apariii a caracterului c n sirul s i scrie noul ir obinut n fiierul text final.out. De exemplu, dac se citete irul : ciocarlie i caracterul c atunci fiierul va conine irul : ccciocccarlie. 43. Fiierul cuv_a.txt conine pe prima linie un numar natural n(n<=20) si apoi n cuvinte cu maxim 20 litere fecare.Sa se ordoneze cuvintele alfabetic. 44. Definiti structura fractie care memoreaz n cmpul a al structurii numrtorul, iar n cmpul b numitorul fractiei. Cititi numitorul si numrtorul a n fractii. Afisati fractiile in forma ireductibila. 45. Se consider un text cu maximum 255 de caractere n care cuvintele sunt separate prin unul sau mai multe spaii. Primul caracter din textul citit este o liter, iar cuvintele sunt formate numai din litere mici ale alfabetului englez. Scriei un program C/C++ care citete de la tastatur textul i l transform nlocuind prima liter a fiecrui cuvnt cu litera mare corespunztoare, restul caracterelor rmnnd nemodificate. Textul astfel transformat va fi afiat pe ecran. Exemplu: dac de la tastatur se introduce textul: clas elev coal se va afia pe ecran: Clas Elev coal 46. Se d o nregistrare cu numele cerc,n care sunt stocate abscisa si ordonata centrului cercului si raza acestuia. Pentru un n numr natural <100, cititi datele caracteristice a n cercuri, sortati structurile descresctor n functie de diametru si afisati coordonatele centrelor cercurilor n ordinea obtinut dup ordonare.

Atestat 2012. Subiecte programare


47. Scriei programul C/C++ care citete de la tastatur un numr de n iruri de cel mult 40 de caractere, formate doar din litere mici ale alfabetului englez. Sa se verifice daca sirul de pe pozitia i se termina cu acelasi caracter cu care incepe sirul de pe pozitia i+1, pentru i de la 1 la n-1. Se va afia pe ecran mesajul Sirurile citite verifica proprietatea sau Sirurile citite nu verifica proprietatea! 48. Fiierul text linii.txt este alctuit din maxim 50 de linii de lungime variabil, pe fiecare linie gsindu-se cte un cuvnt. Scriei un program care afiseaza cuvintele ordonate alfabetic. 49. Fie s1 i s2 dou iruri de caractere. Verificai dac s2 este o codificare shift a lui s1(o codificare shift se obine din s1 prin adgarea la codul ASCII al fiecrui caracter din s1 a unei constante k) afind n caz afirmativ valoarea lui k sau mesajul NU n caz contar. Ex: Pentru irurile s1=acdrtu i s2=ceftvx se afieaz k=2. 50. Scriei un program care citete de la tastatur un text ce contine mai multe cuvinte separate intre ele prin unul sau mai multe spatii si afiseaza primul cuvant cu proprietatea ca are numar maxim de vocale. (Textul are maxim 250 caractere, litere mici si spatii.) 51. Scriei programul C++ care citete de la tastatur un cuvnt de cel mult 15 litere mici ale alfabetului englez i care afieaz pe ecran, pe linii distincte, cuvintele obinute prin tergerea succesiv a vocalelor din cuvntul citit, de la stnga la dreapta, ca n exemplu de mai jos: Exemplu: Dac se citete cuvntul examen se afieaz: xamen xmen xmn

S-ar putea să vă placă și