Probleme c/C++ Subprograme

2
1 Probleme subprograme C++ 1. Să se ordoneze crescător, apoi descrescător un vector cu n elemente. (citire vector, afisare, ordonare crescatoare, ordonare descrescatoare) 2. Sa se afiseze acele elemente dintr-un vector care sunt prime. (citire vector, afisare vector, verificare numar prim) 3. Determinarea maximului / minimului unui vector şi afişarea poziţiilor pe care apar (citire vector, afisare vector, functie pentru maxim, functie pentru minim) 4. Să se calculeze cmmdc a n numere naturale. (functie ce calculeaza cmmdc a 2 numere) 5. Se citeşte un vector cu n componente numere întregi. Să se construiască vectorul format din suma (produsul) cifrelor elementelor din primul vector (citire vector, afisare vector, construire vector 2) 6. Sa se calculeze valoarea expresiei ! ... ! 3 3 ! 2 2 ! 1 1 n n E n n n n (functie pentru calculul unui numar ridicat la o putere, functie pentru calculaul factorialului) 7. Sa se scrie o functie care returneaza suma numerelor prime mai mici decat un n dat.(functie pentru determinarea unui numar prim) 8. Sa se scrie o functie care simplifica o fractie si o alta care calculeaza suma a doua fractii. Sa se calculeze suma a n fractii, afisand rezultatul sub forma de fractie ireductibila. (functie pentru cmmdc) 9. Se considera un vector cu n (1 n 100) componente numere naturale. Sa se determine componentele vectorului cu cei mai multi divizori. (citirea vectorulu, functie calculul numarului de divizori ai unui numar.) 10. Se considera un vector x cu n (1 n 50) componente de tip intreg. Pentru k dat (1 k n) sa se ordoneze crescator primele k componente si descrescator celelalte componente ale lui x. (Se va folosi un subprogram pentru citirea lui x si un subprogram ce ordoneaza crescator la alegere o parte din componentele unui vector (delimitata de doi indici).) Exemplu: Pentru n=7 k=3 si vectorul: x={31 23 30 10 24 7 13} se va afisa: 23 30 31 24 13 10 7 11. Se citesc n valori pozitive. Sa se indice pentru fiecare element cel mai mare patrat perfect mai mic sau egal cu el. 12. Se citesc numere naturale pana la 0. Sa se afiseze cate dintre ele sunt egale cu suma cuburilor cifrelor lor. (Ex: 153=1 3 +5 3 +3 3 ) 13. Dat fiind un numar natural n, sa se afiseze a. cel mai apropiat numar care este patrat perfect. (Ex: pentru n=13 se va afisa 16) b. cel mai apropiat numar care este cub perfect. (Ex: pentru n=25, se va afisa 27) c. cel mai apropiat numar care este numar prim. Daca exista doua astfel de numere, se vor afisa amandoua. (Ex: pentru n=27, se va afisa 29, pentru n=15 se vor afisa 13 si 17) 14. Se citesc de la tastatura n numere naturale. Sa se afiseze numerele care au cei mai multi divizori primi. 15. Sa se afiseze toate numerele din intervalul [a,b] care sunt rotunde (transformate in baza 2, au numarul de cifre de 1 egal cu numarul de cifre de 0). Rezultatul se va afisa in fisierul rotund.txt. Capetele intervalului, a si b, se citesc de la tastatura. 16. Dat fiind un vector cu n componente numere naturale, sa se afiseze numarul de zerouri cu care se va termina numarul obtinut prin inmultirea componentelor vectorului. Vectorul se citeste din fisierul vector.txt, care are pe prima linie un numar natural n<=1000 si pe urmatoarea linie cele n componente naturale ale vectorului. 17. Un numar se numeste autopomorfic daca este sufixul patratului sau (ex, 5 2 =25, 6 2 =36, 25 2 =625). Sa se afle toate numerele autopomorfice mai mici sau egale cu n dat.

description

Limbajul de programare C/C++Probleme cu functii (subprograme) Clasa a 10-a, a 11-a, a 12-a

Transcript of Probleme c/C++ Subprograme

Page 1: Probleme c/C++ Subprograme

1

Probleme subprograme C++ 1. Să se ordoneze crescător, apoi descrescător un vector cu n elemente. (citire vector, afisare,

ordonare crescatoare, ordonare descrescatoare)

2. Sa se afiseze acele elemente dintr-un vector care sunt prime. (citire vector, afisare vector,

verificare numar prim)

3. Determinarea maximului / minimului unui vector şi afişarea poziţiilor pe care apar (citire

vector, afisare vector, functie pentru maxim, functie pentru minim)

4. Să se calculeze cmmdc a n numere naturale. (functie ce calculeaza cmmdc a 2 numere)

5. Se citeşte un vector cu n componente numere întregi. Să se construiască vectorul format din

suma (produsul) cifrelor elementelor din primul vector (citire vector, afisare vector, construire vector

2)

6. Sa se calculeze valoarea expresiei

!...

!3

3

!2

2

!1

1

n

nE

nnnn

(functie pentru calculul unui

numar ridicat la o putere, functie pentru calculaul factorialului) 7. Sa se scrie o functie care returneaza suma numerelor prime mai mici decat un n dat.(functie

pentru determinarea unui numar prim)

8. Sa se scrie o functie care simplifica o fractie si o alta care calculeaza suma a doua fractii. Sa

se calculeze suma a n fractii, afisand rezultatul sub forma de fractie ireductibila. (functie pentru

cmmdc)

9. Se considera un vector cu n (1 n 100) componente numere naturale. Sa se determine

componentele vectorului cu cei mai multi divizori. (citirea vectorulu, functie calculul numarului de

divizori ai unui numar.)

10. Se considera un vector x cu n (1 n 50) componente de tip intreg. Pentru k dat (1 k n) sa se

ordoneze crescator primele k componente si descrescator celelalte componente ale lui x. (Se va folosi

un subprogram pentru citirea lui x si un subprogram ce ordoneaza crescator la alegere o parte din

componentele unui vector (delimitata de doi indici).)

Exemplu:

Pentru n=7 k=3 si vectorul: x={31 23 30 10 24 7 13} se va afisa: 23 30 31 24 13 10 7

11. Se citesc n valori pozitive. Sa se indice pentru fiecare element cel mai mare patrat perfect mai

mic sau egal cu el.

12. Se citesc numere naturale pana la 0. Sa se afiseze cate dintre ele sunt egale cu suma cuburilor

cifrelor lor. (Ex: 153=13+5

3+3

3)

13. Dat fiind un numar natural n, sa se afiseze

a. cel mai apropiat numar care este patrat perfect. (Ex: pentru n=13 se va afisa 16)

b. cel mai apropiat numar care este cub perfect. (Ex: pentru n=25, se va afisa 27)

c. cel mai apropiat numar care este numar prim. Daca exista doua astfel de numere, se vor

afisa amandoua. (Ex: pentru n=27, se va afisa 29, pentru n=15 se vor afisa 13 si 17)

14. Se citesc de la tastatura n numere naturale. Sa se afiseze numerele care au cei mai multi

divizori primi.

15. Sa se afiseze toate numerele din intervalul [a,b] care sunt rotunde (transformate in baza 2, au

numarul de cifre de 1 egal cu numarul de cifre de 0). Rezultatul se va afisa in fisierul rotund.txt.

Capetele intervalului, a si b, se citesc de la tastatura.

16. Dat fiind un vector cu n componente numere naturale, sa se afiseze numarul de zerouri cu

care se va termina numarul obtinut prin inmultirea componentelor vectorului. Vectorul se citeste din

fisierul „vector.txt”, care are pe prima linie un numar natural n<=1000 si pe urmatoarea linie cele n

componente naturale ale vectorului.

17. Un numar se numeste autopomorfic daca este sufixul patratului sau (ex, 52=25, 6

2=36,

252=625). Sa se afle toate numerele autopomorfice mai mici sau egale cu n dat.

Page 2: Probleme c/C++ Subprograme

2

18. Se citeste un numar natural. Sa se verifice daca este termen din sirul Fibonacci si daca da, sa se

precizeze pozitia pe care o ocupa in sirul lui Fibonacci.

F(0)=1, F(1)=1, F(n)=F(n-1)+F(n-2), pentru n 2

19. Sa se stearga elementele pare dintr-un vector.

20. Sa se genereze primele n numere prime.

21. Sa se genereze primele n numere prime care inversate sunt tot numere prime

22. Să se genereze primele n perechi de numere gemene (numere prime impare consecutive).

23. Se citesc 2 vectori de intregi. Sa se ordoneze crescator cei doi vectori. Sa se genereze un al

treilea vector avand elementele din primele doua ordonate crescator. (interclasarea a doi vectori).Se

vor defini subprograme pt: citire, afisare, ordonare si interclasare.

24. Se citeste un vector de intregi. Sa se genereze un nou vector care sa contina elementele o

singura data.

25. Sa se defineasca un subprogram care returneaza cel mai mare divizor comun a doua numere

natural. Pentru n valori citite sa se determine perechile de numere prime intre ele

26. Scrieţi o funcţie găseşte_cifra care returnează valoarea cifrei aflate pe poziţia k în cadrul

numărului n, începând de la dreapta (n şi k vor fi argumentele funcţiei).

27. Sa se afiseze toate numerele palindrom din intervalul [a ,b].

28. Sa se defineasca un subprogram care determina daca o valoare transmisa se gaseste in vector

( va returna pozitia pe care se gaseste).

29. Se citesc n numere naturale. Sa se afiseze numerele care au acelasi numar de cifre pare si

impare

30. Se citesc n numere naturale. Sa se afiseze numerele care au cifre distincte.

31. Un numar este perfect daca este egal cu suma divizorilor sai mai putin el(ex 6=1+2+3). Cand

suma este mai mica decat numarul spunem ca numarul este deficient si cand este mai mare spunem

ca este bogat. Sa se afiseze tipul tuturor numerelor pana la n citit.

32. Numerele 220 si 284 sunt numere prietene deoarece:

220=1+2+3+5+10+11+20+22+44+55+110=284 si

284=1+2+3+71+142=220

Sa se genereze primele n perechi de numere prietene.