Sunteți pe pagina 1din 14

Probleme Atestat Informatic 20132014 * Subiecte PROGRAMARE * IJ Galai

1
SUBIECTE PROGRAMARE
An colar 2013-2014

Subiectul 1
Scriei un program care citete de la tastatura un numr natural n (n<100) i un ir cu n numere
ntregi din intervalul [100, 999]. Programul construiete un ir de numere rezultat prin nlocuirea
fiecrui numr din irul citit cu numrul obinut prin interschimbarea cifrei unitilor cu cifra
sutelor. Numerele din noul ir se vor afia pe ecran separate printr-un singur spaiu.
Exemplu : pentru n=3 si irul 123 , 904 , 500
se afieaz 321 , 409 , 5.
Subiectul 2
Scriei un program care afieaz toate numerele naturale, mai mari dect 10 i mai mici dect o
valoare data n, n<=2.000.000 , formate doar din cifre identice.
Exemplu: pentru n=195 se afieaz : 11 , 22 , 33 , 44 , 55 , 66 , 77 , 88 , 99 , 111.
Subiectul 3
n fiierul Numere.txt pe prima linie este memorat un numr natural n (n<10000), iar pe linia
urmtoare un ir de n numere naturale distincte cu maximum 4 cifre fiecare, separate prin cte un
spaiu. Afiai pe prima linie a fiierului de ieire Rezultat.out poziia pe care s-ar gsi primul
element din irul aflat pe linia a doua a fiierului, daca irul ar fi ordonat cresctor. Numerotarea
poziiilor elementelor n cadrul irului este de la 1 la n.
Exemplu: Dac fiierul Numere.txt are urmtorul coninut:
6
267 13 45 628 7 79
Fiierul Rezultat.out va avea urmtorul coninut:5
Subiectul 4
Se citete p un numr natural. Construii n memorie o matrice ptratica cu n linii i n coloane,
unde n este numrul de cifre al numrului citit. Matricea va fi construit astfel: pe diagonala
principal va conine 0, deasupra diagonalei principale cea mai mare cifr a numrului p, iar sub
diagonala principal cea mai mic cifr a numrului p. Matricea va fi afiata pe urmtoarele n linii
elementele fiecrei linii fiind separate de cte un singur spaiu. Vei utiliza un subprogram care
primete ca parametru un numr natural p de cel mult 9 cifre i returneaz prin intermediul
parametrilor n, max, min numrul de cifre, cifra maxim, respectiv cifra minim a numrului p.
Probleme Atestat Informatic 20132014 * Subiecte PROGRAMARE * IJ Galai

2
Exemplu: p=824
Se va afia:
0 8 8
1 0 8
2 2 0

Subiectul 5
Se citete un cuvnt format doar din litere mici, separate prin unul sau mai multe spaii. Definim
randamentul unui cuvnt ca fiind numrul de caractere distincte din cuvnt / lungimea
cuvntului. De exemplu irul caractere are randamentul 1/9=0.12. Afiai n fiierul
Randament.out, randamentul cuvntului citit cu dou zecimale.
Exemplu: dac se citete cuvntul:
probleme
Fiierul Rezultate.out va avea urmtorul coninut:
0.87

Subiectul 6
O matrice ptratic A de dimensiune n cu p elemente nenule este memorat economic n fiierul
de intrare Matrice.txt sub urmtoarea form.: pe prima linie a fiierului se gsesc dou numere n i
p, dimensiunea matricei respectiv numrul de elemente nenule iar pe urmtoarele p linii triplete de
numere naturale (v, l, c) care reprezint valoarea, linia respectiv coloana pe care se gsesc
elementele nenule.Scriei un program care citete informaiile din fiierul de intrare, reface i scrie
n fiierul de ieire Matrice.out matricea A.
Exemplu: dac fiierul Matrice.txt are urmtorul coninut:
5 8
1 1 1
5 1 2
1 2 3
2 2 5
3 3 2
Probleme Atestat Informatic 20132014 * Subiecte PROGRAMARE * IJ Galai

3
4 4 1
2 4 3
8 5 4
Fiierul Matrice.out va avea urmtorul coninut:
1 5 0 0 0
3 0 1 0 3
0 4 0 0 0
3 0 2 0 0
0 0 0 8 0

Subiectul 7
Pentru un ir de caractere s, citit de la tastatur s se construiasc i s se afieze un ablon
acesta fiind un alt ir de caractere de aceiai lungime cu s, ce conine doar caractere din mulimea
{*, ?, #}, astfel nct fiecare poziie din s n care se gsete o vocal s fie codificat cu caracterul *,
pe fiecare poziie din s n care apare o consoan s fie codificat cu # i pe fiecare poziie din s n
care apare orice alt caracter s fie codificat cu ?. Se consider vocal orice liter din mulimea
{a,e,i,o,u}.
Exemplu: pentru irul: informatica_
Pe ecran se va afia
*##*##*#*#*?

Subiectul 8
Fiierul atestat.in conine dou linii. Pe prima linie este scris un numr natural nenul n, (5<n<30).
Pe cea de-a doua linie a fiierului sunt scrise n numere naturale separate prin cte un spaiu, formate
fiecare din cel mult 4 cifre, reprezentnd un ir de n numere naturale. irul conine cel puin dou
numere impare.
S se scrie un program care:
a) s afieze pe ecran, n linie, n ordinea invers citirii, toate numerele din ir,
separate prin cte un spaiu;
b) s afieze pe ecran, n linie, numrul de cifre din care este format fiecare numr
din irul iniial, separndu-le prin cte un spaiu;
Probleme Atestat Informatic 20132014 * Subiecte PROGRAMARE * IJ Galai

4
Exemplu:
Dac fiierul atesta.in conine:
6
13 555 71 2 242 1001
Se va afia:
1001 242 2 71 555 13
2 3 2 1 3 4

Subiectul 9
Fiierul atestat.in conine o singur linie pe care se afl scris un text format din cel mult 200 de
caractere, primul caracter fiind liter, iar cuvintele din text sunt separate prin cte un spaiu. Fiecare
cuvnt este format doar din litere mari sau mici ale alfabetului limbii engleze.
S se scrie un program care:
c) s afieze textul pe o singur linie a ecranului, scris cu majuscule;
d) s afieze n fiierul atestat.out numrul consoanelor din text;
Exemplu:
atestat.in
Imi place Informatica
Se va afia:
IMI PLACE INFORMATICA
10
Subiectul 10
Se citete de la tastatur un ir de n numere naturale de maxim 9 cifre (n<=100). S se afieze pe
ecran cifra de control a numerelor din ir. Se va utiliza un subprogram care determin suma cifrelor
unui numr natural. Cifra de control a unui numr se obine calculnd suma cifrelor numrului, apoi
se realizeaz suma cifrelor sumei numrului, .a.m.d. pn cnd se obine ca sum un numr de o
cifr.
Exemplu: n=6
13, 452, 1198, 986, 24, 881
Se va afia:
4, 2, 1, 5, 6, 8

Probleme Atestat Informatic 20132014 * Subiecte PROGRAMARE * IJ Galai

5
Subiectul 11
Scriei programul care citete de la tastatur un numr natural n (1 <n<10), apoi n*n numere
ntregi, mai mici dect 32000, reprezentnd elementele unui tablou bidimensional cu n linii i n
coloane, i care determin i afieaz pe ecran ultima cifr a produsului numerelor prime de pe
diagonala principal a tabloului sau mesajul imposibil dac nu exist numere prime.
Exemplu: n=4
15 10 9
40 12 13
20 14 7 7
31 15 14 2
Se va afia 4(deoarece produsul este 14)

Subiectul 12
Scriei un program C/C++ care citete de la tastur un numr natural n cu cel mult 8 cifre (n10)
i care creeaz fiierul text NR.TXT ce conine numrul n i toate prefixele nenule ale acestuia, pe
o singur linie, separate prin cte un spaiu, n ordine descresctoare a valorii lor.

Exemplu: pentru n=10305 fiierul NR.TXT va conine numerele:
10305 1030 103 10 1

Subiectul 13
Se consider un text alctuit din cel mult 250 de caractere, n care cuvintele sunt formate doar din
litere mici ale alfabetului englez i sunt separate prin unul sau mai multe caractere *. Scriei un
program C/C++ care citete de la tastatur textul i afieaz pe ecran, pe cte o linie, toate
secvenele formate din cte dou litere identice, ca n exemplu.

Exemplu: dac textul citit este:
cand*lucreaza**pe*grupe***copiii*trebuie*sa*coopereze
perechile alturate.
ii
ii
oo

Subiectul 14
Se citesc de la tastatur dou numere naturale: n i m de maxim 9 cifre fiecare. S se afieze cte
cifre comune au cele dou numere citite i care sunt aceste cifre.

Exemplu : Numerele 21348 i 14513 au 3 cifre comune : 1, 3, 4.
Probleme Atestat Informatic 20132014 * Subiecte PROGRAMARE * IJ Galai

6
Subiectul 15
Se citesc de la tastatura n numere naturale, cu cel mult 9 cifre fiecare. Scrieti un program care
pentru o cifr k citit de la tastatura, afieaz pe ecran cte numere n scrierea crora apare cifra k,
se gsesc n irul dat.
Exemplu: pentru n=4 , cifra k=2 si valorile citite 23, 603, 122, 27
se obtine numarul nr = 3

Subiectul 16
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.
Exemplu: Pentru n=4 i valorile 23, 431, 154, 452 se afieaz 4 pentru c cifra 4 apare de 3 ori n
numerele citite.

Subiectul 17
Fiierul numere.in conine pe prima linie mai multe numere naturale n ordine cresctoare dintre
care cel puin o putere a lui 3. Scriei un program care afieaz pe ecran numerele din fiier ce sunt
puteri ale lui 3.
Exemplu: 27, 43, 54, 81, 452, 729
se afieaz 27, 81,729

Subiectul 18
S se scrie un program care s verifice dac suma cifrelor de pe poziiile impare i suma cifrelor
de pe poziiile pare ale unui numr natural n citit de la tastatur sunt egale. Poziiile se numr de la
dreapta la stnga ncepnd cu poziia 1. Se afieaz sumele i un mesaj corespunztor pe ecran.
Exemplu: se citete: n=12345 i
se afieaz: sp=6 i simp=9 Nu coincid!

Subiectul 19
Se consider o matrice oarecare de dimensiune mxn cu elemente numere naturale. S se afieze
numerele cu numr impar de divizori din matrice i s se indice numrul lor.
Probleme Atestat Informatic 20132014 * Subiecte PROGRAMARE * IJ Galai

7
Exemplu: se citete: m=2 i n=3 i matricea

25 7 12
8 11 4
A

se afieaz: 4, 25, 2 numere

Subiectul 20
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 ntregi distincte
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 spaiu. Definii o funcie care verific dac un
numr ntreg este prim i folosii apeluri ale ei pentru rezolvarea cerinei.
Exemplu: pentru m=3 i n=4 i tabloul de mai jos
1 7 1 4
1 4 6 12 3
9 22 8 5
Pe ecran se va afia:
1 1 1 2

Subiectul 21
Se d o nregistrare cu numele cerc, n care sunt stocate abscisa i ordonata centrului cercului i
raza acestuia. Pentru un n numr natural <100, citii datele pentru n cercuri i sortai structurile
descresctor n funcie de diametru.
Exemplu: pentru n=4 i perechile de forma (x,y,r): (2,3,4) (1,2,7) (3,2,6) (7,8,5)
Se afieaz: (1,2) d=14
(3,2) d=12
(7,8) d=10
(2,3) d=8

Subiectul 22
Se citesc de la tastatur elementele unui vector cu n numere naturale sortat cresctor i un numr
natural k. S se insereze numrul k n irul dat astfel nct irul s rmn sortat cresctor.

Probleme Atestat Informatic 20132014 * Subiecte PROGRAMARE * IJ Galai

8
Exemplu: n=4 i k=100 i numere: 90 95 110 120
Se va afia : 90 95 100 110 120.

Subiectul 23
Fiierul note.in conine pe prima linie un numr natural n (2 < n < 100), iar pe a doua linie sunt n
numere naturale cuprinse ntre 1 i 10, reprezentnd notele a n elevi dintr-o clas, cel puin 3 note
fiind distincte. S se scrie un program care determin i afieaz pe ecran media aritmetic a celor n
note, tiind c notele cele mai mici i notele cele mai mari nu se iau n considerare la calculul
mediei.
Exemplu:
note.in
5
2 8 4 9 7
Se va afia: 7.5 (deoarece notele de 4 i nota 9 se elimin)

Subiectul 24
Se citesc din fiierul numere.in mai multe numere naturale nenule de cel mult 6 cifre pn la
ntlnirea numrului 0. S se afieze n fiierul numere.out numerele prime.
Exemplu:
numere.in
25 31 100 123456 23 0
numere.out
31 23
Subiectul 25
Fiierul numere.in conine pe prima linie numrul natural n (2 n 25000), pe a doua linie un ir
de n numere naturale cuprinse ntre 1 i 1000, iar pe a treia linie un numr natural x cuprins ntre 1
i 1000. S se memoreze irul ntr-un vector i s se nlocuiasc toate elementele egale cu x cu
produsul dintre x i numrul divizorilor lui x. Vectorul rezultat va fi afiat n fiierul numere.out.
Exemplu:
numere.in
Probleme Atestat Informatic 20132014 * Subiecte PROGRAMARE * IJ Galai

9
7
3 3 3 999 3 67 24
3
numere.out
66 999 6 67 24

Subiectul 26
Se tie c orice numr par n>=4 se poate scrie ca sum a doua numere prime. S se afieze n
fiierul sume.txt toate sumele posibile de numere prime ce dau ca rezultat n.
Exemplu:
pentru n=20 se vor afia sumele 1+19
3+17
7+13
13+7
17+3
19+1

Subiectul 27
Din fiierul propozitie.in se citete un ir de caractere, reprezentnd mai multe cuvinte separate
ntre ele prin urmtorii separatori: ,, ;, ,!,?. S se verifice dac dup eliminarea acestora irul este
palindromic ( se va afia DA n caz afirmativ i NU n caz contrar).
Exemplu: pentru propozitia
Ele fac cafele ? se afieaz DA

Subiectul 28
Definim operaia de compactare a unui tablou ca fiind eliminarea zerourilor din tablou. Dac
ntlnim un element nul toate elementele situate la dreapta sa vor deplasa cu o poziie la stnga, n
locul su. Se citesc elementele unui tablou cu n numere intregi, se cere s-l compactai.

Probleme Atestat Informatic 20132014 * Subiecte PROGRAMARE * IJ Galai

10
Exemplu: pentru n=4 i numere: 9 0 0 5
Se va afia 9 5.

Subiectul 29
Se citesc mai multe cuvinte din fiierul iruri.txt. Afisati pe ecran, cuvintele ordonate lexicografic.
Exemplu: maine am examen
Siruri.txt
am examen maine

Subiectul 30
Folosind vectori de structur, s se calculeze pentru n numere complexe media aritmetic a
modulelor lor. Vectorii se vor citi dintr-un fiier complexe.in care va conine pe fiecare rnd partea
real i coeficientul prii imaginare a fiecrui numr complex.
Exemplu:
complexe.in
3 4
6 3
2 7
Se va afia:
5
6.7
7.3

Subiectul 31
tiind c orice numr natural se poate scrie ca sum de puteri distincte ale lui 2, s se determine o
modalitate de scriere a numrului n, citit de la tostatura, ca sum de puteri ale lui 2 n fiierul
suma.txt
Exemplu: n=5
suma.txt
2
2
+2
0


Probleme Atestat Informatic 20132014 * Subiecte PROGRAMARE * IJ Galai

11
Subiectul 32
Fiind dat o matrice patratic de dimensiune n, s se afieze n fiierul matrice.txt aceast matrice,
fr a afia cele 2 diagonale i s se calculeze media artimetic a elementelor pozitive i media
geometric a elementelor negative din matrice.
Exemplu:m=3
1 2 3
4 5 6
7 8 9
matrice.txt
2
4 6
8
ma=5 mg=4.15

Subiectul 33
Pe fiecare linie a fiierului numere.txt este scris cte un numr natural n. S se gseasc pentru
fiecare numr citit cel mai mare numr prim strict mai mic decat n i cel mai mic numr prim mai
mare strict decat n i s se afieze aceste dou numere n fiierul rezultate.txt.
Exemplu:
numere.txt
7
36
10
18
rezultate.txt
5 11
31 37
7 11
17 19
Probleme Atestat Informatic 20132014 * Subiecte PROGRAMARE * IJ Galai

12
Subiectul 34
Se citesc din fiierul fractii.txt cte dou numere, reprezentnd numratorul i numitorul fiecrei
fracii. S se afieze n fiierul rezultate.txt aceste fracii semplificate.
Exemplu:
fractii.txt
6 4
10 5
150 20
rezultate.txt
3 2
2 1
15 2

Subiectul 35
Se citesc din fisierul text numere.txt, numere ntregi. S se calculeze cel mai mare divizor comun
dintre numerele de pe poziii impare(primul numr, al treilea, etc,) i cel mai mic multiplu comun
dintre numerale de pe poziii pare( al doilea numar, al patrulea, etc) i s se afieze.
Exemplu:
numere.txt: 2 3 18 5 27
cmmdc(2,18,27)=1
cmmmc(3,5)=15

Subiectul 36
Un numr a este imperfect dac suma divizorilor si, exceptnd numrul nsui este mai mic dect
a. Fiind dat un numr n de la tastatur s se construiasc vectorul cu primele n numere imperfecte.
Exemplu:n=5 se afieaz 2 3 4 5 7


Probleme Atestat Informatic 20132014 * Subiecte PROGRAMARE * IJ Galai

13
Subiectul 37
Se citesc mai multe cuvinte din fiierul de intrare fraze.txt. S se afieze, pe cte un rnd, cuvintele
din fiier, lungimile lor i s se afieze n final lungimea maxim i minim a cuvintelor citite din
fiier.
Exemplu:
eu sunt printre cei cuminti din scoala
Eu 2
Sunt 4
Printre 7
Cei 3
Cuminti 7
Din 3
Scoala 6
Lungimea minima a cuvintelor este 2
Lungimea maxima a cuvintelor este 7

Subiectul 38
Se citete un ir de numere naturale pn la citirea lui 0 (care nu face parte din ir). S se calculeze
media aritmetic a numerelor de 3 cifre din ir care au cel puin o cifr egal cu k, citit de la
tastatur.
Exemplu:k=5
Pentru irul 2, 751, 215, 210, 2157, 85, 550, 620, 0 media aritmetic este 505.3

Subiectul 39
S se realizeze un program care s afieze numerele din fiierul atestat.in care au numrul cifrelor
pare egal cu numrul cifrelor impare. Afiai i numrul acestor numere.
Exemplu:
Atestat.in : 12 1524 99 6543
Se va afisa : 1524 6543
Probleme Atestat Informatic 20132014 * Subiecte PROGRAMARE * IJ Galai

14
Subiectul 40
Realizai un program care s foloseasc un subprogram recursiv pentru afiarea numerelor ce
conin numrul maxim de cifre distincte, citirea celor n valori intregi se face de la tastatur.
Exemplu: n=5 , 121 38 7 1188 22 se va afia: 1188 38 121

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