Documente Academic
Documente Profesional
Documente Cultură
Se consider subprogramul inter, cu doi parametri: x i y (numere ntregi formate din cel mult patru cifre
fiecare); subprogramul interschimb valorile a dou variabile transmise prin intermediul parametrilor xi y.
a) Scriei n limbajul C/C++definiia complet a subprogramului inter.
b) Pe prima linie a fiierului bac.inse afl un numr natural nenul n1000, iar pe a doua linie a fiierului se afl
un ir de nnumere naturale nenule, desprite prin cte un spaiu, fiecare numr fiind format din cel mult 4cifre.
Scriei un program C/C++ care afieaz pe ecran, n ordine cresctoare, numerele aflate pe a doua linie a
fiierului. Numerele vor fi afiate pe o singur linie, iar ntre dou numere se va lsa un spaiu. Se vor folosi apeluri
utile ale subprogramului inter.
a) Scriei subprogramul nrdiv, care primete prin intermediul parametrului xun numr natural nenul cu cel mult 4
cifre, i returneaz numrul de divizori primi ai lui x.
b) Pe prima linie a fiierului bac.inse afl un numr natural nenul n(n1000), iar pe a doua linie a fiierului se
afl un ir format din nnumere naturale nenule, desprite prin cte un spaiu, fiecare numr fiind format din cel
mult 4cifre. Scriei un program C/C++care citete numerele din fiier i care afieaz pe ecran, folosind apeluri
utile ale subprogramului nrdiv, prima i ultima valoare din irul celor nnumere citite, care au un numr par de
divizori primi. Numerele afiate vor fi separate printr-un spaiu.
Exemplu: dac fiierul bac.inare coninutul alturat, pe ecran se va afia: 2010
7
30105201407105
Subprogramul cifraprimete prin intermediul parametrului aun numr natural cu cel mult 4cifre i returneaz
ultima cifr par a sa. Dac numrul nu conine cifre pare, subprogramul returneaz valoarea 1. De exemplu,
dac a=8345, subprogramul va returna 4.
a) S se scrie definiia complet a subprogramului cifra.
b) Pe prima linie a fiierului bac.inse afl un numr natural nenul n(n15000), iar pe a doua linie a fiierului
se afl un ir de nnumere naturale, desprite prin cte un spaiu, fiecare numr fiind format din cel mult 4cifre.
Scriei un program C/C++ care citete numerele din fiier i afieaz pe ecran, folosind apeluri utile ale
subprogramului cifra, cel mai mare numr care se poate forma cu ultimele cifre pare ale fiecrui element, dac
acestea exist. Alegei o metod de rezolvare eficient ca timp de executare. Dac toate numerele de pe a doua
linie a fiierului au numai cifre impare, programul va afia mesajul NUEXISTA.
Exemplu: dac fiierul bac.inare coninutul alturat, pe ecran se va afia: 64220
7
3691132033135442
a) Scriei definiia complet a unui subprogram sumcare primete prin parametrul xun numr natural de cel mult
4cifre i returneaz suma divizorilor numrului x, diferii de 1i de el nsui.
Exemplu: dac x=10se va returna valoarea 7(7=2+5).
b) Scriei programul C/C++care citete de la tastatur un numr natural n(0<n<100), apoi nnumere naturale
(cu cel mult 4 cifre fiecare). Programul determin, folosind apeluri utile ale subprogramului sum, pentru fiecare
numr natural citit, suma divizorilor si proprii i afieaz pe ecran sumele determinate, n ordinea cresctoare a
valorilor lor, separate prin cte un spaiu.
Exemplu: dac n=5i numerele citite sunt 10233611valorile afiate pe ecran vor fi: 005714
deoarece suma divizorilor lui 10 este 7, suma divizorilor lui 2 este 0, suma divizorilor lui 33 este 14, suma
divizorilor lui 6este 5, suma divizorilor lui 11este 0.
a) Scriei definiia complet a unui subprogram primul, care
- primete prin singurul su parametru, a, o valoare natural din intervalul [2,10000]
- returneaz o valoare natural reprezentnd cel mai mic divizor al numrului amai mare strict dect 1.
b) Fiierul text NUMERE.INconine pe prima linie un numr natural nenul n(1n100)i pe urmtoarea linie n
numere naturale din intervalul [2,10000]separate prin cte un spaiu.
Un numr natural nse numete aproape prim dac este egal cu produsul a dou numere prime distincte. De
exemplu, numrul 14este aproape prim pentru c este egal cu produsul numerelor prime 2i 7.
Scriei un program C/C++ care determin, folosind apeluri utile ale suprogramului primul, cel mai mare numr
aproape prim de pe linia a doua a fiierului NUMERE.IN.n cazul n care exist un astfel de numr se afieaz
pe ecran mesajul DA, urmat de numrul determinat, iar n caz contrar mesajul NU.
Exemplu: dac fiierul NUMERE.INare coninutul:
6
100142187735
atunci se afieaz pe ecran DA77pentru c numrul 77este cel cel mai mare dintre numerele aproape prime
din fiier (14=7*2,21=7*3,77=7*11,35=7*5).