Colegiul Național de Informatică „Spiru Haret” Suceava
LABORATOR L16 (1)
1. Se citește un vector a[ ] de n numere naturale, de la tastatură. Să se determine elementul maxim
și poziția sa. Dacă există mai multe elemente de valoare maximă, să se determine poziția pentru
fiecare dintre acestea.
2. Se citește un vector a[ ] de n numere naturale, de la tastatură.
a. Să se afișeze vectorul de la ultimul element la primul
b. Să se determine numărul de elemente ale vectorului care sunt numere perfecte. (Un
număr perfect este un număr ce are suma divizorilor egală cu el însuși. Ex: 6=1+2+3)
c. Să se determine media aritmetică a elementelor care sunt mai mari decât 1 și mai mici
decât 11, și să se afișeze pe ecran pe o linie separată
d. Să se afișeze, pe o linie separată de ecran, elementele pare aflate pe poziții impare (dacă
există). Dacă nu există asemenea elemente, să se afișeze mesajul „NU EXISTA”.
3. Se citește un vector a[ ] de n numere naturale, din fișierul text [Link]. Să se determine dacă
componentele sale sunt distincte și să se afișeze pe ecran mesajul „Da”, atunci când
componentele sunt distincte și „Nu” în caz contrar. (Un vector are componente distincte atunci
când nicio valoare nu se repetă).
4. Se citește de la tastatură un număr natural n (3 < n < 100). Să se genereze un vector care să
conțină primele n pătrate ale numerelor naturale de la 1 la n.
5. Se citește de la tastatură un număr natural n (3 < n < 10). Să se genereze un vector care să
conțină primele n numere prime (1 și 2 sunt considerate numere prime).
6. Fişierul text [Link] conţine pe prima linie două numere naturale, n şi k, separate de un
spaţiu (3≤n≤10000, 2≤k≤n/2), iar pe a doua linie un şir de n numere naturale, x1, x2, ..., xn,
separate prin câte un spaţiu, fiecare număr din acest şir având cel mult patru cifre. Scrieţi un
program C/C++ care citeşte numerele din fişier şi determină, utilizând o metodă eficientă din
punct de vedere al timpului de executare, cel mai mic indice i (1≤i≤n-k+1) pentru care suma
termenilor x[i], x[i+1], ..., x[i+k-1] este maximă. Programul afişează valoarea lui i pe ecran.
Exemplu:
pentru fişierul
83
29475299
se afişează 2, deoarece suma maximă se obţine pentru 9+4+7.