Sunteți pe pagina 1din 4

1.Din fisierul matrice.

in se citeste un numar natural n (n<=10) si apoi se citeste o matrice patratica cu


n linii si n coloane avand elemente numere naturale cu cel mult 2 cifre fiecare. Afisati in fisierul
matrice.out elementele de pe diagonala principala a matricei care au proprietatea ca sunt egale cu
cel mai mare divizor comun al sumei de pe linia si al produsului de pe coloana pe care se afla.
Se vor scrie si folosi functii pentru:
- citirea matricei
- calculul cmmdc
- calculul sumei elementelor de pe o linie a matricei
- calculul produsului elementelor de pe o coloana a matricei
Exemplu:
matrice.in
4
1244
2346
3446
3 12 5 5
matrice.out
135
Precizare: Produsul elementelor de pe orice coloana este cel mult egal cu 2000000000.
**********************************************************************************
2.Se citeste un numar natural n cu cel mult 9 cifre. Scrieti o functie care calculeaza si returneaza cel
mai mic numar care se poate forma cu cifrele lui n. Pe langa functia ceruta se vor scrie si apela functii
pentru:
- transformarea unui numar in vector de cifre
- ordonarea crescatoare a unui vector
- transformarea din vector de cifre in numar.
Exemplu: Cu cifrele numarului 3426096 ce mai mic numar care se poate forma este 2034669.
**********************************************************************************
3.Se citeste un numar natural n cu cel mult 9 cifre. Scrieti o functie care calculeaza si returneaza cel
mai mare numar care se poate forma cu cifrele lui n. Pe langa functia ceruta se vor scrie si apela
functii pentru:
- transformarea unui numar in vector de cifre
- ordonarea descrescatoare a unui vector
- transformarea din vector de cifre in numar.
Exemplu: Cu cifrele numarului 3426096 ce mai mare numar care se poate forma este 9664320.
**********************************************************************************
4. Scrieti urmatoarele functii:
- cmmdc - cu doi parametri a si b numere naturale, care calculeaza si returneaza cel mai mare divizor
comun al celor doi parametri. Exemplu: cmmdc(4,18) => 2
- oglindit - cu un parametru n numar natural, care calculeaza si returneaza oglinditul lui n. Exemplu:
oglindit(418) => 814
- cifrepare - cu un parametru n numar natural, care calculeaza si returneaza numarul format cu
cifrele pare ale lui n sau 0 daca n nu are cifre pare. Exemplu: cifrepare(418) => 48
- cifreimpare - cu un parametru n numar natural, care calculeaza si returneaza numarul format cu
cifrele impare ale lui n sau 0 daca n nu are cifre impare. Exemplu: cifreimpare(77418) => 771
Scrieti un program care citeste un numar natural n si care folosind functiile de mai sus determina
daca numarul format cu cifrele pare ale si numarul format cu cifrele impare ale lui n sunt prime
�ntre ele. Programul afiseaza DA sau NU.
Exemple: Pentru n=3324519 cele doua numere sunt 24 si 33519 si ele nu sunt prime intre ele.
Pentru n=419 cele doua numere sunt 4 si 19 si ele sunt prime intre ele.
OBS: Numarul n nu are cifre nule.
**********************************************************************************
5.Sa se scrie urmatoarele doua functii:
- maxim, care primeste ca parametru un numar natural n si calculeaza si returneaza cel mai mare
numar care se poate forma cu cifrele lui n;
- minim, care primeste ca parametru un numar natural n si calculeaza si returneaza cel mai mic
numar care se poate forma cu cifrele lui n;
Se citeste un numar natural n (n<=100) si apoi n numere naturale cu cel mult 9 cifre fiecare. Folosind
apeluri ale functiilor minim si maxim numarati si afisati cate dintre cele n numere citite au toate
cifrele identice si cate au cifrele ordonate descrescator.
**********************************************************************************
6.Se da un interval [a,b]. Afisati toate perechile de numere palindrom din intervalul [a,b] care sunt
prime intre ele. Se vor folosi functii pentru:
- calculul rasturnatului unui numar
- verificarea daca un numar este palindrom
- cel mai mare divizor comun al 2 numere
Exemplu:
a=45, b=120
se vor afisa :
55 101
55 111
66 101
77 101
77 111
88 101
88 111
99 101
101 111
**********************************************************************************
7.Se citeste de la tastatura o matrice patratica A cu n linii si n coloane continand numere naturale cu
cel mult 5 cifre (n in intervalul [3, 50]). Scrieti un program care construieste si apoi tipareste un sir Y
care sa contina in ordine strict descrescatoare, numerele "superprime" distincte, care apar in
triunghiul stang sau cel drept al matricei A. Sirul Y se va construi direct ordonat, fara a face
ordonarea ulterioara. In cazul in care sirul Y este vid, se va tipari mesajul "Sirul este vid".
Un numar se numeste "superprim" daca toate prefixele sale sunt numere prime (de ex. 239 este
"superprim" deoarece 2, 23 si 239 sunt prime, dar numarul 241 nu este "superprim" deoarece 24 nu
este prim).
Triunghiul stang al unei matrici este format din elementele de sub diagonala principala si deasupra
celei secundare, iar triunghiul drept este format din elementele de sub diagonala secundara si
deasupra celei principale.
Se vor scrie si folosi subprograme pentru:
- citirea unei matrici patratice
- tiparirea unui sir
- verificarea daca un numar este prim
- verificarea daca un numar este "superprim"
- construirea sirului Y prin inserarea de valori din matricea A in sirul Y ordonat descrescator
Exemplu:
Pentru n=4 si matricea
241 100 5 239
239 3 2 79
16 3 3 239
3421
Sirul Y va fi {239, 79} (obtinut din elementele 239, 16, 79, 239 aflate in zonele considerate ale
matricii)
**********************************************************************************
9.Subprogramul sub primeste prin intermediul parametrului n (cel mult 9) dimensiunea unei matrice
patratice, prin intermediul parametrului a matricea patratica de dimensiune n cu elementele
numere intregi si prin intermediul parametrului k un numar natural nenul din intervalul [2,2n].
Subprogramul sub calculeaza si returneaza suma tuturor elementelor a[i][j] cu proprietatea c�
i+j=k.
Scrieti programul care citeste un numar natural n si un tablou de numere intregi cu n linii si n
coloane si afiseaza suma elementelor din tablou aflate strict deasupra diagonalei secundare a
tabloului, folosind apeluri ale subprogramului sub, definit conform cerintei.
Exemplu:
n=4
1631
6131
1316
3161
se va afisa 18
**********************************************************************************
10.Se citeste un numar natural n. Construiti si afisati o matrice patratica cu n linii si n coloane in care
elementele sunt completate astfel:
- elementele de pe diagonala principala sunt egale cu 0
- elementele de pe linia i de sub diagonala principala sunt egale cu i
- elementele de pe linia i de deasupra diagonalei principale sunt egale cu al i-lea numar prim.
Se vor scrie functii pentru:
- verificarea daca un numar este prim
- calculul celui de-al i-lea numar prim
- afisarea matricii
Exemplu:
Pentru n=5 se obtine matricea:
02222
20333
33055
44407
55550
**********************************************************************************
11.Se citeste un sir X de numere naturale pozitive, citirea sirului terminandu-se la introducerea
valorii 0. (Exemplu: daca valorile introduse sunt 1, 2, 3, 0 atunci sirul citit va fi X = (1, 2, 3).)
Sa se scrie un program care construieste si afiseaza sirul Y formsat din perechi de forma (valoare,
aparitii) valorile fiind in ordine crescatoare, numerele distincte din sirul X cu proprietatea ca au suma
cifrelor numar prim,iar aparitii reprezinta numarul de aparitii a fiecarei valorii in sirul X.
Sirul Y se va construi direct ordonat dupa prima valoare din pereche, fara a se face ordonarea dupa
constructie. Daca nici o valoare dintre cele citite nu are suma cifrelor numar prim se va afisa mesajul
"Sirul Y este vid".
Se vor scrie functii pentru:
- citirea unui sir.
- verificarea daca un numar este prim.
- determinarea sumei cifrelor unui numar.
- inserarea in sirul Y a unei valori arfel incat Y sa ramana ordonat cum se cere.
- construirea sirului Y.
- tiparirea sirului de perechi cerut.
Exemple:
- Pentru sirul X = (142, 13, 89, 21, 91, 11, 8, 142, 21) se obtine Y = ((11, 1), (21, 2), (89, 1), (142, 2)).
- Pentru sirul X = (6, 15, 103) se va tipari mesajul "Sirul Y este vid".
**********************************************************************************
12.Se da o matrice cu n linii si m coloane avand elementele numere naturale.
Sa se inlocuiasca fiecare element din matrice dupa urmatoarea regula: elementele numere prime se
inlocuiesc cu rasturnatul lui, iar cele neprime cu suma divizorilor lor. Sa se afiseze matricea obtinuta.
Se vor scrie functii separate pentru fiecare dintre urmatoarele operatii:
- determinarea primalitatii unui numar natural
- calculul rasturnatului unui numar natural
- calculul sumei divizorilor unui numar natural
- citirea unei matrici
- afisare unei matrici
- parcurgerea unei matrici si realizarea modificarilor cerute.
Exemplu:
date.in
34
25 121 45 17
800 432 31 76
77 78 98 43
date.out
31 133 78 71
1953 1240 13 140
96 168 171 34
**********************************************************************************

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