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ție17 = 6 + 1 + 2 + 8
argareta:
1 e numar par?
cout<<"n="; cin>>n;
for (i=1;i<=n;i++)
{
cout<<"a["<<i<<"]="; cin>>a[i];
if (a[i]%2==0&&stop==0)
{
x=i;
stop=1;
}
}
stop=0;
for (i=n;i>=1;i--)
if (a[i]%2==0&&stop==0)
{
y=i;
stop=1;
}
for (i=x;i<=y;i++)
s=s+a[i];
if (s==0)
cout<<"NU EXISTA";
else
cout<<"Suma este:"<<s;
Răspunsuri la întrebare
Răspuns de
10
#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;
}
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;
}
Alte întrebări interesante
Biologie,
9 ani în urmă
Matematică,
10 ani în urmă
Limba română,
10 ani în urmă
Limba română,
10 ani în urmă
Matematică,
10 ani în urmă