Lista de probleme 170

Filtrare

Se dă un vector cu n elemente numere întregi, n fiind număr par. Să se ordoneze crescător elementele din prima jumătate a vectorului și descrescător elementele din a doua jumătate.

Se vor defini și apela următoarele subprograme:

  • citire, care citește valoarea lui n și cele n elemente ale tabloului
  • afisare, care afișează elementele tabloului, separate prin exact un spațiu
  • sortare, care ordonează elementele vectorului cuprinse între doi indici transmiși ca parametru. Criteriul de ordonare (crescător/descrescător) va fi transmis ca parametru.

În programele C/C++ nu se vor folosi variabile globale.

Se dă o matrice pătratică cu n linii și n coloane și elemente numere naturale. Să se afișeze indicii liniilor pentru care suma elementelor este număr par.

Se va defini și folosi subprogramul suma, cu 3 parametri:

  • x – matricea
  • n – dimensiunea matricei
  • p – un număr natural, 1 ≤ p ≤ n

care va returna suma elementelor de pe linia p a matricei x.

Să se scrie o funcție C++ care să determine suma divizorilor unui număr natural transmis ca parametru. Funcția întoarce rezultatul prin intermediul unui parametru de ieşire.

#4222 CautaPoz C++

Scrieţi definiția completă a subprogramului C++ cu antetul:

int CautaPoz(int a[], int n)

Subprogramul returnează poziția p (0 ≤ p < n - 1) cu proprietatea că sumele a[0]+a[1]+...+a[p] și a[p+1]+...+a[n-1] sunt cât mai apropiate. Dacă există mai multe astfel de poziții, se va returna cea mai din stânga.

Să se scrie o funcție C++ care să determine suma divizorilor unui număr natural transmis ca parametru. Funcția va returna rezultatul.

Se dă o matrice pătratică cu n linii și n coloane, numerotate de la 1 la n și elemente numere naturale. Să se determine suma elementelor aflate strict deasupra diagonalei secundare a matricei.

Se va defini și folosi subprogramul sub, cu 3 parametri:

  • n – dimensiunea matricei
  • x – matricea
  • k – un număr natural, 1 < k ≤ 2*n

care va returna suma tuturor elementelor aij din matrice pentru care i + j = k.

#3612 F_p-numar_bac C++

Un număr natural nenul se numește p-număr dacă are aceeași paritate cu suma divizorilor săi pozitivi. Exemplu: 10 și 25 sunt p-numere (10 are aceeași paritate cu 18=1+2+5+10, iar 25 are aceeași paritate cu 31=1+5+25).

Subprogramul kpn, are trei parametri, a, b și k, în această ordine, prin care primește câte un număr natural din intervalul [1,106] (a≤b). Subprogramul returnează cel de al k-lea p-număr din intervalul [a,b] sau -1, dacă nu există cel puțin k astfel de numere în acest interval.

Scrieți definiția completă a subprogramului.

Subiect Bacalaureat 2020, sesiunea august-septembrie

#3642 f_expo C++

Scrieţi definiția completă a subprogramului C++ cu antetul:

void f_expo(int a[], int n)

Subprogramul furnizează rezultatul tot prin intermediul tabloului a. Pentru fiecare element a[i], i=0..n-1, se calculează exponentul maxim e cu proprietatea că 2e ≤ a[i], iar rezultatul se va memora tot în a[i].

#23 Oglindit1 C++

Să se scrie o funcție C++ care să determine oglinditul unui număr natural transmis ca parametru. Funcția va întoarce rezultatul prin intermediul unui parametru de ieşire.

#36 i_prim C++

Scrieţi definiția completă a unui subprogram C++ i_prim care primește prin singurul său parametru, n, un număr natural cu cel mult 9 cifre și returnează diferența minimă p2-p1 în care p1 şi p2 sunt numere prime și p1≤n≤p2.