Informatică, întrebare adresată de olimpicul45, 8 ani în urmă

Vă rog frumos,este urgent!Aș dori rezolvarea următoarei probleme,urmată de o explicație,dacă se poate.​

Anexe:

olimpicul45: Vă rog!

Răspunsuri la întrebare

Răspuns de gabi54t
0

#include <iostream>

using namespace std;

int main()

{

   unsigned int n, v[1001], i, j, s=0, u, p, c=0;

   cin>>n;

   for(i=1; i<=n; i++)

       cin>>v[i];

   for(i=1; i<=n; i++)

       if(v[i]%2==0)

       {

           c++;

           u=i;

       }

   for(j=n; j>=1; j--)

       if(v[j]%2==0)

       {

           c++;

           p=j;

       }

   if(p==u)

       cout<<v[p];

   else

   {

       for(i=p; i<=u; i++)

           s=s+v[i];

       if(c==0)

           cout<<"NU EXISTA";

       else

           cout<<s;

   }

   return 0;

}

Explicație:

1. declari elementele, apoi le citesti (pe n si apoi vectorul v care contine n elemente)

2. parcurgi vectorul din stanga, apoi din dreapta ca sa gaselsti pozitia care are primul element par, atat si ultimul element par (p = primul, u = ultimul)

3. verifici sa fie p si u diferite (adica exista mai mult decat 1 element par)

4. parcurgi elementele de la p la u si le aduni in s.

5. afisezi s daca exista elemente pare (adica daca c este diferit de 0), altfel, afisezi "NU EXISTA"

O sa dea 100p pe pbinfo

Alte întrebări interesante