Se da un tablou unidimensional de tip intreg, de calculat suma elementelor impare dintre primul si ultimul element nul. Va rog ajutaţimă
Răspunsuri la întrebare
#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;
}