👤

Se da un tablou unidimensional de tip intreg, de calculat suma elementelor impare dintre primul si ultimul element nul. Va rog ajutaţimă

Răspuns :

#include<iostream>

using namespace std;

int main()

{

int n, v[100], s=0;

cin>>n;

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

cin>>v[i];

int primul_element=-1, ultimul_element=-1;

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

if(v[i]==0) { primul_element=i; break; }

for(int i=n;i>=1;i--)

if(v[i]==0) { ultimul_element=i; break; }

for(int i=primul_element;i<=ultimul_element;i++)

if(v[i]%2==1) s=s+v[i];

cout<<s;

}

#include <iostream>

using namespace std;

int main()

{

   int n, v[40],si,i,k, m,l;

   cout<<"Dati dimensiunea vectorului:";cin>>n;

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

   {

       cout<<"v["<<i<<"]=";

       cin>>v[i];

   }

   k=1;i=1;// cautam primul element nul

   while(k==1)

   {

       if(v[i]==0)

       {   m=i;

           k++;

       }

       i++;

   } // cautam ultimul element nul

   k=1; i=n;

   while(k==1)

   {

       if(v[i]==0)

       {

           l=i;

           k++;

       }

       i--;

   }

   si=0; // si- suma elementelor impare

    /* daca intre primul si ultimul element nul exista cel putin un numar, calculam suma  */

   if(m+1<l)    

   {

       for(i=m;i<=l;i++)

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

               si=si+v[i];

       cout<<"Suma elementelor impare dintre primul si ultimul element nul, este:"<<si;

   }

   else

       if(m==l)

           cout<<"In vector exista doar un element nul.";

       else

           if(m+1==l)

               cout<<"Intre cele doua elemente nule nu se afla alte numere.";

   return 0;

}