Sunteți pe pagina 1din 5

Atestat 2013.

Subiecte programare

Atestat 2013. Subiecte programare


1. Se citesc de la tastatur n (n<=100) numere naturale, cu cel mult 9 cifre fiecare. Scriei un program care, pentru o cifr k citit de la tastatura, afieaz pe ecran numrul de valori prime din irul dat, n scrierea crora apare cifra k. Exemplu: pentru n=4 , cifra k=2 i valorile citite 23, 603, 122, 27 se obine numrul nr = 1, care corespunde valorii 23. 2. Se citete de la tastatur un numr natural n cu cel mult nou cifre. Scriei un program care verific dac exist un numr natural k cu proprietatea c n=1*2*3**k. n caz afirmativ programul va afia mesajul Da i valoarea k , altfel va afia mesajul Nu. 3. n fiierul valori.txt sunt memorate maximum 1000 de numere ntregi desprite prin cte un spaiu. Scriei un program care s determine valoarea maxim i valoarea minim din fiier i 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: min = 1 nr_aparitii = 3 max = 89 nr_aparitii = 2 4.Fiierul unu.in conine pe primul rnd numrul natural n ( 2n1000000 ), iar pe a doua linie se gsesc n numere ntregi formate din cel mult 9 cifre i desprite prin cte un spaiu. tiind c linia a doua a fiierului conine cel puin dou numere distincte, scriei un program care s scrie n fiierul unu.out pe o singur linie i separate printr-un spaiu, n ordine descresctoare, 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. Scriei datele din fiierul numere.in i scrie n fiierul numere.out, valorile de pe a doua linie a fiierului numere.in care sunt palindroame i au numr par de cifre. 6. Se citete de la tastatur un numr natural n (1<n <100), i apoi n perechi de cte dou numere ntregi a si b cu ( a < b) reprezentnd capetele intervalului [a, b]. Afiai pe ecran, dac exist, capetele intervalului rezultat n urma intersec iei celor n intervale citite, separate printr-un spaiu. n cazul n care intersecia este mulimea vid se afieaz valoarea 0. De exemplu, pentru n=3 i perechile [-1,20], [-4,9], [-7, 12] se va afia -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 cele mai mari dou cifre. 8. Se citete de la tastatur un numr natural n cu maximum cinci cifre. Afiai cel mai apropiat numr fa de n care are aceeai sum a cifrelor. (Dac sunt dou numere cu aceast proprietate se vor afia ambele, separate printr-un spaiu.) 9. Se citesc n numere naturale. S se afieze cele n numere n ordinea cresctoare a numrul de divizori primi corespunztori fiecrei valori. Valorile avnd acelai numr de divizori primi se vor afia n ordine descresctoare. Exemplu: Pt. n=5 i numerele 12, 4, 5, 6, 13 se va afia pe ecran 13 5 4 12 6 . 10. Se citete n numr natural (n<50) i n numere ntregi. S se afieze numerele care au cel mult un divizor propriu numr prim i s se calculeze media lor aritmetic. Dac irul nu conine niciun astfel de numr se va afi a valoarea 0. 11. Se citete de la tastatur un numr natural n cu cel mult 9 cifre, avnd cel puin o cifr par. S se afieze cel mai mare i cel mai mic numr care se pot forma cu cifrele pare distincte ale numrului dat. 12. Se citete din fiierul numar.txt un numr natural n, cu cel mult 100000 de cifre. Scriei un program care afieaz mesajul Cifre distincte dac cifrele numrului sunt distincte dou cte dou, respectiv, Conine cifre egale n caz contrar. 13. Scriei un program care afieaz pe ecran toate numerele naturale cu exact k cifre (k <5) care sunt rotunde (un numr natural este numr rotund dac numrul de cifre 0 este egal cu numrul de cifre 1 n reprezentarea sa binar). Exemplu: 12(10)=1100(2) este numr rotund; 13(10)=1101(2) nu este rotund ) 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 au toate cifrele egale.

Atestat 2013. Subiecte programare


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 puin 3 cifre i cel mult 9 cifre fiecare. Scriei programul C/C++ care afieaz pe ecran numerele n ordinea cresctoare a cifrelor maxime corespunztoare. Dac mai multe numere au aceea i cifr a sutelor, vor fi afiate n ordinea descresctoare a valorilor lor. Exemplu: dac fiierul numere.in are coninutul: 9 55 105 3 101 99 7 208 2222 80 se va afia: 99 208 80 7 105 55 3 2222 101 16. Fiierul numere.in conine pe prima linie cel mult 100 de numere naturale ordonate cresctor. Scrie i un program care verific, folosind o metod eficient, dac numrul x citit de la tastatur se afl n acest ir i afi eaz un mesaj corespunztor. 17. Dat n natural, s se descompun ca sum de puteri distincte ale lui 2. Exemplu : 25=24+23+20. 18. Scriei un program care citete de la tastatur un numr natural cu maximum 9 cifre i construie te i afi eaz pe ecran dou numere, astfel: primul numr va conine cifrele pare situate pe pozi iile pare ale numrului dat, iar cel de al doilea, cifrele impare situate pe poziii impare n numrul citit. Numrarea pozi iilor ncepe cu cifra cea mai semnificativ a numrului. Ex : Pentru n=2134506 se vor obine numerele 40 i 35. 19. S se afieze primele n perechi de numere prime gemene, unde n este un numr natural nenul citit de la tastatur. Exemplu: Pentru n=4 se afieaz perechile (3 ; 5) ; (5 ; 7) ; (11 ; 13) ; (17 ; 19). 20. Se citesc n (n<=100) numere naturale nenule. S se afieze numrul de zerouri cu care se va termina produsul numerelor fr a calcula efectiv produsul lor. Exemplu: Pentru n=3 i numerele 25, 12, 9 se afieaz 2. 21. Se citesc dou numere naturale nenule n i m. S se afieze toate numerele prime mai mici dect n care au suma cifrelor mai mic dect m. Exemplu: Pentru 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++ 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 matricei ( 1i , jm) este egal cu: 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 citesc n (n<=100) numere naturale. Scriei un program care determin i afieaz cel mai mic numr care se poate forma cu cifra maxim a fiecrui numr citit. Exemplu: Pentru n= 5 i v=(29, 171, 0, 2222, 100) se afieaz 10279.

Atestat 2013. Subiecte programare


25. Se consider o matrice de dimensiuni m*n (m,n<=20) cu elemente numere naturale. Scriei programul C/C++ care citete dimensiunile i elementele matricei i afieaz pe ecran elementele matricei care au numr impar de divizori i numrul lor acestora. 26. Fie un vector v cu n elemente numere ntregi citite de la tastatur. Scriei programul C/C++ care mut la sfr itul lui v elementele sale nule, pstrnd ordinea celorlalte elemente i afieaz pe ecran elementele vectorului modificat. 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 ordin n (n<=20). Scriei o funcie de ordonare a unui vector de dimensiune k, i utiliznd aceast funcie, ordonai elementele situate pe liniile impare. Afiai matricea obinut. 28. Fiierul 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 matricea b este obinut din matricea a prin rotirea spre stnga cu 270 de grade, afind un mesaj corespunztor (Da / Nu). Exemplu: Dac fiierul matrice.in are urmtorul coninut : 3 123 345 567 531 642 7 5 3 atunci se va afia DA. 29. Scriei un program C/C++ care citete de la tastatur dou numere naturale natural n i m (2<n, m<20) reprezentnd dimensiunile unei matrice i m*n numere ntregi s se determine punctele a din matrice (elementele care sunt minime pe linia lor i maxime pe coloana lor). n cazul n care nu exist se va afia mesajul NU. 30. Scriei un program C/C++ care citete de la tastatur dou numere naturale natural n i m (2<n, m<20) i afieaz pe ecran o matrice cu n linii i m coloane, avnd ca elemente primele n*m numere naturale compuse (nu sunt 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. Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n<20), construiete i afieaz n fiierul matrice.out, elementele unei matrice ptratice de ordinul n (n<=10) unde fiecare element A i,j= minimul dintre i i j. Afiarea se realizeaz prin parcurgerea matricei pe coloane. 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, pozi ia pe care se afl primul i ultimul numr din cele n numere reale care sunt egale cu cea mai mic valoare citit. Exemplu: Dac fiierul NUMERE.IN are coninutul: 6 2.8 2.3 5.7 5.7 2.3 6.3 atunci se afieaz 2 5 (valoarea minim este 2.3 i numerele din poziiile 2, respectiv 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 ptrate perfecte ale matricei, situate sub diagonala principal. Cele dou medii se consider egale cu 0 dac nu exist valori ce ndeplinesc cerinele n zonele corespunztoare.

Atestat 2013. 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 coloan a matricei, separate prin cte un spaiu. 36. Scriei un program care citete de la tastatur un numr natural nenul n i un ir de n numere ntregi i afieaz pe ecran valorile distincte citite i frecvena n ir a fiecrei valori. 37. Scriei un program care citete de la tastatur dou numere naturale nenule m i n i care construiete n memorie i apoi afieaz elementele unei matrice A cu m linii i n coloane, unde Aij = cmmmc(i,j). Matricea se va afia n fiierul matrice.txt, cte o linie a matricei pe cte o linie a ecranului, elementele fiecrei linii fiind separate prin cte un spaiu. 38. Fiecare din cele dou linii ale fiierului numere.in conine mai multe valori naturale, separate prin cte un spaiu. Scrie i un program care afieaz pe ecran coninutul fiierului i pe un rnd separat, elementele de pe prima linie a fi ierului care nu apar n cea de a doua linie. 39. Scriei un program care construiete n memorie o matrice ptratic de ordin n (numr natural citit de la tastatur) 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 i alturate diagonalei principale s fie toate egale cu 2, elementele de pe urmtoarele dou semidiagonale s fie egale cu 3 etc. Afiai pe ecran elementele matricei construite. Pentru n=4 se va afia tabloul : 1234 2123 3212 4321 40. Se citesc de la tastatur dou numere naturale m i n (0<=m,n<=5) i m*n cifre de la 0 la 9. S se afieze suma numerelor care se pot forma cu cifrele fiecrei linii (numrul aferent fiecrei linii se va ob ine prin alipirea cifrelor de pe linia respectiv de la stnga la dreapta, ignorndu-se zerourile de la nceputul liniei). Exemplu : Pentru valorile : 35 03825 00514 07793 se va afia 12132 reprezentnd suma 3825+514+7793. 41. Scriei un program care construiete n memorie o matrice T ptratic de ordin n (numr natural citit de la tastatur) cu elemente numere naturale astfel nct pe ultima coloan i 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 i elementul aflat imediat n dreapta lui. Exemplu : Pentru n =4 se va afia tabloul urmtor : 20 10 4 1 10 6 3 1 4 3 2 1 1 1 1 1 42. Scriei programul C/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 irul 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 numr natural n(n<=20) i pe fiecare din urmtoarele n linii cte un cuvnt cu maximum 20 litere. S se afieze pe ecran cuvintele din fiier, n ordine alfabetic. 44. Definii structura fracie care memoreaz n cmpul a al structurii numrtorul, iar n cmpul b numitorul unei fracii. Scriei un program care citete un numr natural n i n perechi de numere ntregi reprezentnd numitorul i numrtorul a n fracii i afieaz pentru fiecare fracie dat, pe cte o linie, numitorul i numrtorul fraciei ireductibile echivalente, separate printr-un spaiu. 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: Pentru textul ana are mere se va afia pe ecran Ana Are Mere.

Atestat 2013. Subiecte programare


46. O structur cu numele cerc are trei cmpuri x, y, r reprezentnd abscisa i ordonata centrului cercului, respectiv raza acestuia. Scriei programul C/C++ care citete de la tastatur un numr natural n < 100 i n triplete de valori ntregi reprezentnd coordonatele i razele a n cercuri i afieaz coordonatele centrelor cercurilor n ordinea cresctoare a razelor lor. 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 i verific dac fiecare din primele n-1 iruri de caractere au ultimul caracter egal cu caracterul cu care ncepe irul urmtor. n caz afirmativ programul va afi a pe ecran mesajul Sirurile citite verifica proprietatea, respectiv, Sirurile citite nu verifica proprietatea ! n caz contrar. 48. Fiierul text linii.txt este alctuit din maximum 50 de linii de lungime variabil, pe fiecare linie gsindu-se cte un cuvnt. Scriei un program care afieaz cuvintele ce conin cel puin dou vocale, ordonate alfabetic. 49. Scriei programul C/C++ care citete de la tastatur dou iruri de caractere s1 i s2 i verific dac irul s2 este o codificare shift a irului s1 (o codificare shift se obine din s1 prin adugarea la codul ASCII al fiecrui caracter din s1 a unei constante k) i afieaz n caz afirmativ valoarea lui k sau mesajul NU n caz contrar. Ex: Pentru irurile s1=acdrtu i s2=ceftvx se afieaz k=2. 50. Scriei un program C/C++ care citete de la tastatur un text ce conine mai multe cuvinte separate ntre ele prin unul sau mai multe spaii i afieaz primul cuvnt ce conine un numr maxim de vocale. (Textul are cel mult 250 caractere, litere mici i spaii.) 51. Scriei programul C/C++ care citete de la tastatur un cuvnt format din 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 vacanta se afieaz: vacant vacnt vcnt

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