fbpx

Problema #802 – SumImpK – Rezolvari PBInfo

de Mihai-Alexandru

Cerinţa

Scrieţi definiția completă a subprogramului C++ sub care are 3 parametri: n – prin care primește un număr natural, v, prin care primeşte un tablou unidimensional cu n elemente, numere naturale cu cel mult 4 cifre și k, prin care primeşte un număr natural.

Subprogramul returnează suma primelor k elemente cu valoare impară ale tabloului. Dacă nu există k elemente impare în tablou, subprogramul returnează valoarea -1.

Restricţii şi precizări

  • 2<n<50
  • 1<k≤n
  • numele subprogramului cerut este sub
  • parametrii sunt, în această ordine: n, v, k
  • elementele tabloului v sunt indexate de la zero

Exemplu

Dacă n=8, v=(2, 7, 6, 8, 3, 7, 5, 1), k=3, atunci subprogramul returnează valoarea 17 (7+3+7=17).

Important

Soluţia propusă va conţine doar definiţia subprogramului cerut. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.

int sub(int n , int a[] , int k)
{
    int s=0;
    for(int i = 0 ; i < n && k; ++i)
    {
        if(a[i]%2==1)
        {
            s+=a[i];
            k--;
        }
    }
    if(k==0)
        return s;
    else
        return -1;
}
Comentarii

S-ar putea sa iti placa