Se citește un vector cu n elemente, numere naturale. Să se determine suma valorilor elementelor cuprinse între primul și ultimul element par al vectorului, inclusiv acestea.

Programul afișează pe ecran numărul S, reprezentând suma calculată. Dacă în vectorul dat nu există nici un element par, se va afișa mesajul NU EXISTA.

ex:

5 7 6 1 2 8 Explicație

17 = 6 + 1 + 2 + 8

Răspuns :

#include<iostream.h>

int main()
{
    int i, c1=-1, c2=-1;   //c1 retine pozitia primului numar par, c2 a ultimului numar par
    int n, v[20], S=0;
    cin>>n;
    for ( i=0 ; i<n ; i++)
        cin>>v[i];
    for ( i=0 ; i<n ; i++)
        if ( v[i]%2 == 0 ) {
            c1 = i;      //daca gasim un numar par, c1 ia valoare pozitiei lui (primul nr par)
            c2 = i;      // consideram ca nu mai exista alt numar par, deci c2=c1=i
            break;      //iesim din for, pentru ca am gasit primul numar par
        }
    for (i=c1, i<n ; i++)    //cautam alte numere pare, dupa primul
        if (v[i] % 2 == 0) 
            c2 = i;    //la finalul for-ului, c2 iese cu valoarea pozitiei ultimul numar par.
    if (c1 == -1)
        cout<<"Nu exista"<<endl;
    else {
        for (i=c1, i<=c2, i++)
            S=S+v[i];
        cout<<"Suma este "<<S<<endl;
    }
    return 0;
}