probleme rezolvate c

8
Probleme rezolvate c++ atestat informatica 2011 1.Scr ie i pro gramu l care cite te un numă r natu ral nen ul ț ș n cu cel mult 4 cifre i determină cel ș mai mic număr prim mai mare decât n 2. Se citeste un numar intreg strict pozitiv cu cel mult noua cifre. Sa se verifice daca cifrele lui sunt in ordine strict crescatoare. 3. Se citesc doua numere intregi strict pozitive. Sa se calculeze si sa se afiseze c.m.m.d.c al lor. 4. Se citeste de la tastatura un numar natural n (1<n<100) si un sir x de n valori intregi. Sa se construiasca un vector care sa contina numai elementele pare din vectorul x. !. Se citeste de la tastatura un numar natural n (1<n<100) si un sir x de n valori intregi. "erificati daca o valoare a# citita de la tastatura se gaseste in vector si daca da# afisti pozitiile  pe care apare si numarul de aparitii. $. Se citeste de la tastatura un numar natural n (1<n<100) si un sir x de n valori intregi. Sa se numere elementele din vectorul x care se gasesc in intervalul %a#&' cu a si & numere intregi citite de la tastatura# si sa se construiasca un alt vector cu cele care nu apartin intervalului. . i*ierul text bac.txt con+ine# pe o singură linie# cel mult 1000 de numere naturale nenule cu cel mult 4 cifre fiecare# numerele fiind separate prin câte un spa+iu. Scrie+i un program C/C++ care cite*te de la tastatură un număr natural nenul n (n,999) *i numerele din fi*ierul bac.txt *i care afi*ează pe ecran# separate prin câte un spa+iu# toate numerele din fi*ier care sunt divizi&ile cu n. -acă fi*ierul nu con+ine niciun astfel de număr# atunci se va afi*a pe ecran mesaul NU EX!"#. Exem$l%& dacă fi*ierul bac.txt con+ine numerele/ ' 100 40 (0 2) ) *0 '(9* #  pentru n,10 atunci pe ecran se va afi*a/ 100 40 (0 *0 *. Se citesc trei numere intregi strict positive. Sa se afiseze in ordine crescatoare. Sa se verifice daca ele formeaza sau nu o progresie geometrica. 9. Scrie+i un program C/C++ care cite*te de la tastură un număr natural n cu cel mult * cifre (n10) *i care creează fi*ierul text N-."X" ce con+ine numărul n *i toate prefixele nenule ale acestuia# pe o singură linie# separate prin câte un spa+iu# n ordine descrescătoare a valorii lor. Exem$l%& pentru n,10'0) fi*ierul N-."X" va con+ine numerele/ 10'0) 10'0 10' 10 1 10. Scrie+i un program 22 care cite*te de la tastatură două numere naturale nenule n *i m (5,m,10# 5,n ,10) *i care construie*te n memorie *i apoi afi*ează o matrice 6 cu n linii

Upload: mirunaandreeastoica

Post on 08-Jan-2016

69 views

Category:

Documents


1 download

DESCRIPTION

informatica

TRANSCRIPT

Page 1: Probleme Rezolvate c

7/17/2019 Probleme Rezolvate c

http://slidepdf.com/reader/full/probleme-rezolvate-c 1/8

Probleme rezolvate c++ atestat informatica

2011

1.Scrie i programul care cite te un număr natural nenulț ș n cu cel mult 4 cifre i determină celș

mai mic număr prim mai mare decât n

2. Se citeste un numar intreg strict pozitiv cu cel mult noua cifre. Sa se verifice daca cifrele luisunt in ordine strict crescatoare.

3. Se citesc doua numere intregi strict pozitive. Sa se calculeze si sa se afiseze c.m.m.d.c allor.

4. Se citeste de la tastatura un numar natural n (1<n<100) si un sir x de n valori intregi. Sa se

construiasca un vector care sa contina numai elementele pare din vectorul x.

!. Se citeste de la tastatura un numar natural n (1<n<100) si un sir x de n valori intregi."erificati daca o valoare a# citita de la tastatura se gaseste in vector si daca da# afisti pozitiile

 pe care apare si numarul de aparitii.

$. Se citeste de la tastatura un numar natural n (1<n<100) si un sir x de n valori intregi. Sa se

numere elementele din vectorul x care se gasesc in intervalul %a#&' cu a si & numere intregi

citite de la tastatura# si sa se construiasca un alt vector cu cele care nu apartin intervalului.

. i*ierul text bac.txt con+ine# pe o singură linie# cel mult 1000 de numere naturale nenule cu

cel mult 4 cifre fiecare# numerele fiind separate prin câte un spa+iu. Scrie+i un program C/C++

care cite*te de la tastatură un număr natural nenul n (n,999) *i numerele din fi*ierul bac.txt *icare afi*ează pe ecran# separate prin câte un spa+iu# toate numerele din fi*ier care sunt

divizi&ile cu n. -acă fi*ierul nu con+ine niciun astfel de număr# atunci se va afi*a pe ecranmesaul NU EX!"#.

Exem$l%& dacă fi*ierul bac.txt con+ine numerele/ ' 100 40 (0 2) ) *0 '(9*#

 pentru n,10 atunci pe ecran se va afi*a/ 100 40 (0 *0

*. Se citesc trei numere intregi strict positive. Sa se afiseze in ordine crescatoare. Sa severifice daca ele formeaza sau nu o progresie geometrica.

9. Scrie+i un program C/C++ care cite*te de la tastură un număr natural n cu cel mult * cifre(n10) *i care creează fi*ierul text N-."X" ce con+ine numărul n *i toate prefixele nenule ale

acestuia# pe o singură linie# separate prin câte un spa+iu# n ordine descrescătoare a valorii lor.

Exem$l%& pentru n,10'0) fi*ierul N-."X" va con+ine numerele/

10'0) 10'0 10' 10 1

10. Scrie+i un program 22 care cite*te de la tastatură două numere naturale nenule n *i m(5,m,10# 5,n,10) *i care construie*te n memorie *i apoi afi*ează o matrice 6 cu n linii

Page 2: Probleme Rezolvate c

7/17/2019 Probleme Rezolvate c

http://slidepdf.com/reader/full/probleme-rezolvate-c 2/8

(numerotate de la 1 la n) *i m coloane (numerotate de la 1 la m) cu proprietatea că fiecareelement 6i memorează cea mai mică dintre valorile indicilor i *i (1,i,n# 1,,m).

7atricea se va afi*a pe ecran# câte o linie a matricei pe câte o linie a ecranului# elementele

fiecărei linii fiind separate prin câte un spa+iu.

Exem$l%& pentru n84 *i m8! se va afi*a matricea alăturată.

1 1 1 1 1

1 5 5 5 5

1 5 3 3 3

1 5 3 4 4

11.Scrie+i un program C/C++ care cite*te de la tastatură două caractere c1 *i c2# *i un textavând cel mult 2)0 caractere (spa+ii *i litere ale alfa&etului englez)# pe care l modifică

nlocuind toate apari+iile caracterului memorat n c1 cu cel memorat n c2 *i toate apari+iile

caracterului memorat n c2 cu cel memorat n c1. 9rogramul afi*ează pe linii separate aleecranului atât textul ini+ial cât *i textul o&+inut după efectuarea nlocuirilor.

Exem$l%& dacă pentru c1 se cite*te a# pentru c2 se cite*te o iar textul citit este/

oc%s $oc%s $re$arat%s

se va afi*a /

oc%s $oc%s $re$arat%s

ac%s $ac%s $re$orot%s

12. Să se scrie un program C/C++ care cite*te de la tastatură un cuvânt format din cel mult 20

de caractere# doar litere mici ale alfa&etului englez. 9rogramul determină transformarea

cuvântului citit prin nlocuirea fiecărei vocale a cuvântului# cu litera mare corespunzătoare#restul literelor nemodificându:se# ca n exemplu. 9rogramul afi*ează pe ecran cuvântul

o&+inut# pe o singură linie. Se consideră vocale literele din mul+imea ;aeio%.

Exem$l%/ pentru cuvântul bacala%reat se va afi*a pe ecran/ b#c#l#UrE#t

1'. Scrie+i defini+ia completă a su&programului co%nt care are 2 parametri prin care prime*te

un ta&lou unidimensional cu maximum 100 de numere reale *i numărul de elemente din

ta&lou. Su&programul returnează numărul de elemente din ta&loul unidimensional care suntmai mari sau cel pu+in egale cu media aritmetică a tuturor elementelor din ta&lou.

Exem$l%& dacă ta&loul are elemente *i este de forma 12 (.) .) ' *.) (.)#

su&programul va returna valoarea 4.

14. Scrie+i defini+ia completă a su&programului interval care are 2 parametri prin care prime*te un ta&lou unidimensional cu maximum 100 de numere naturale mai mici decât 1000

Page 3: Probleme Rezolvate c

7/17/2019 Probleme Rezolvate c

http://slidepdf.com/reader/full/probleme-rezolvate-c 3/8

*i numărul de elemente din ta&loul unidimensional. Su&programul returnează numărul deelemente din ta&loul unidimensional care apar+in intervalului nc=is determinat de primul *i

respectiv ultimul element al ta&loului.

Exem$l%& dacă ta&loul are elemente *i este de forma 122(*92# su&programul va

returna valoarea ).

1!. Se citeste de la tastatura un numar natural n (1<n<100) si un sir x de n valori intregi. Sa seordoneze crescator pana la o pozitie > citita de la tastatura si descrescator de la pozitia > la n.

-E35#-

1)

?include<iostream.=@void main()

;int i#n#o>80Acin@@nA

do

;o>80An8n1A

for(i85Ai<8n5Ai)if(nBi880)

o>81A

C=ile(o>881)Acout<<nA

5)

?include<iostream.=@

void main();int n#c81#i#v%50'#81#n1A

cin@@nA

n18nAC=ile(nD80)

;v%'8nB10A

 An8n10A

for(i81Ai<:1Ai)if(v%i'<8v%i1')

c80Aif(c)

cout<<Ecifrele numarului E<<n1<<E sunt in ordine crescatoareEA

elsecout<<Ecifrele numarului E<<n1<<E nu sunt in ordine crescatoareEA

3)

Page 4: Probleme Rezolvate c

7/17/2019 Probleme Rezolvate c

http://slidepdf.com/reader/full/probleme-rezolvate-c 4/8

?include<iostream.=@void main ()

;int a#&Acin@@aA

cin@@&A

C=ile(aD8&);if(a@&)

a8a:&Aelse

 &8&:aA

cout<<aA

4)

?include<iostream.=@

void main()

;int v%50'#n#i#%50'#80Acout<<En8EAcin@@nAfor(i81Ai<8nAi)

;cout<<Ev%E<<i<<E'8EAcin@@v%i'A

for(i81Ai<8nAi)if(v%i'B5880)

;81A%'8v%i'A

for(i81Ai<8Ai)

cout<<%i'<<E EA

!)

?include<iostream.=@

void main();int v%50'#a#n#i#80#x%50'#nrA

cout<<En8EAcin@@nA

cout<<Ea8EAcin@@aAfor(i81Ai<8nAi)

;cout<<Ev%E<<i<<E'8EAcin@@v%i'Afor(i81Ai<8nAi)

if(v%i'88a);nr8nr1A 81A

x%'8iAcout<<Enr E<<a<<E apare in vector de E<<nr<<E oriEA

cout<<endlA

for(i81Ai<8Ai)cout<<Enr E<<a<<E apare pe pozitia E<<x%i'<<endlA

$)

?include<iostream.=@void main()

Page 5: Probleme Rezolvate c

7/17/2019 Probleme Rezolvate c

http://slidepdf.com/reader/full/probleme-rezolvate-c 5/8

;int v%50'#m80#a#&#n#i#81#x%50'#nrAcout<<En8EAcin@@nA

cout<<Ea8EAcin@@aAcout<<E&8EAcin@@&A

for(i81Ai<8nAi)

;cout<<Ev%E<<i<<E'8EAcin@@v%i'Afor(i81Ai<8nAi)

if(v%i'@8a FF v%i'<8&)m8m1A

else

;x%'8v%i'A 81A

cout<<Eelementele cuprinse intre E<<a<<E si E<<&<<E sunt in numar de E<<mA

)

?include<fstream.=@void main();int n#v%50'#i#c80A

cout<<En8EAcin@@nA

fstream f(E&ac.txtE#ios//in)AC=ile(f@@v%i')

;if(v%i'Bn880)

;cout<<v%i'<<E EAc81A

if(c880)

cout<<Enu existaEA

G)

?include<iostream.=@

void main ();int v%10'#i##auxA

for(i81Ai<83Ai);cout<<Ev%E<<i<<E'8EAcin@@v%i'A

for(i81Ai<85Ai);for(85A<83A)if(v%i'@v%')

;aux8v%i'Av%i'8v%'A

v%'8auxA

if((float)(v%5'v%1')88(float)(v%3'v%5'))cout<<Eprogresie geometricaEA

elsecout<<Enu este progresie geometricaEA

H)

Page 6: Probleme Rezolvate c

7/17/2019 Probleme Rezolvate c

http://slidepdf.com/reader/full/probleme-rezolvate-c 6/8

?include<fstream.=@void main()

;int i#nAfstream f(EIJ.KLKE#ios//out)A

cin@@nA

if(n@810 FF n<8HHHHHHH)C=ile(nD80)

;n8n10A

f<<nA

10)

?include<iostream.=@void main ()

;int n#m#i##a%50'%50'Acout<<En8EAcin@@nA

cout<<Em8EAcin@@mA

for(i81Ai<8nAi);for(81A<8mA)

if(i<)a%i'%'8iA

else

a%i'%'8Afor(i81Ai<8nAi)

;for(81A<8mA)cout<<a%i'%'<<E EA

cout<<endlA

11)

?include<iostream.=@

?include<stdio.=@

?include<string.=@void main()

;int iA

c=ar c18MaM#c58MoM#v%5!0'Acin.get(v#5!0)A

 puts(v)Afor(i80Ai<strlen(v)Ai)

if(v%i'88c1)v%i'8c5A

else

if(v%i'88c5)v%i'8c1A

 puts(v)A

15)

Page 7: Probleme Rezolvate c

7/17/2019 Probleme Rezolvate c

http://slidepdf.com/reader/full/probleme-rezolvate-c 7/8

?include<iostream.=@?include<stdio.=@

?include<string.=@void main()

;int i#A

c=ar v%50'#a%!'8EaeiouEAcin.get(v#50)A

for(i80Ai<strlen(v)Ai);for(80A<strlen(a)A)

if(v%i'88a%')

v%i'8v%i':35A puts(v)A

13)

?include<iostream.=@float i #n #nr80 #v%100'# s80#m80Aint count (float a%100'#float &)

;float x80A

for(i81Ai<8&Ai)s8sa%i'A

m8s&Acout<<sA

cout<<mA

for(i81Ai<8&Ai)if(m<8a%i')

x8x1Areturn xA

void main()

;cout<<En8EAcin@@nAfor(i81Ai<8nAi)

;cout<<i<<E/EAcin@@v%i'Acout<<count(v#n)A

14)

?include<iostream.=@int v%100'#nA

int interval(int x%100'#int u);int a#&#i#m80A

a8x%1'A

 &8x%u'Aif(a<&)

for(i81Ai<8nAi);if(x%i'@8a FF x%i'<8&)

m8m1A

elsefor(i81Ai<8nAi)

Page 8: Probleme Rezolvate c

7/17/2019 Probleme Rezolvate c

http://slidepdf.com/reader/full/probleme-rezolvate-c 8/8

;if(x%i'@8& FF x%i'<8a)m8m1A

return mAvoid main()

;

cin@@nAfor(int i81Ai<8nAi)

;cout<<Ev%E<<i<<E'8EAcin@@v%i'Acout<<interval(v#n)A

1!)

?include<iostream.=@

void main()

;int n##>#i#v%50'#auxA

cout<<En8EAcin@@nAcout<<E>8EAcin@@>Afor(i81Ai<8nAi)

;cout<<Ev%E<<i<<E'8EAcin@@v%i'A

for(i81Ai<>:1Ai)for(8i1A<>A)

if(v%i'@v%');aux8v%i'A

v%i'8v%'A

v%'8auxAfor(i8>1Ai<nAi)

for(8i1A<8nA)if(v%i'<v%')

;aux8v%i'A

v%i'8v%'Av%'8auxA

for(i81Ai<8nAi)cout<<v%i'<<E EA