ce-i greșit la algoritmul ăsta? ( Asta e cerința: 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.) Trebuie să-l încarc pe pbinfo. Am făcut asta și primesc doar 80 de puncte.
#include
using namespace std;
int main ()
{
int S, n, A[1000], i, a, b;
S=a=b=0;
cin>> n;
for ( i=1; i<=n; i++)
cin>> A[i];
for ( i=1; i<=n; i++)
{
if(A[i]%2==0)
a=i;
}
for( i=n; i>=1; i--)
{
if( A[i]%2== 0)
b=i;
}
for (i=b; i<=a; i++)
S= S+ A[i];
if( S>0)
cout<< S;
if (S==0)
cout<< "NU EXISTA";
return 0;
}
emyvegas:
scrie asa: ok=0;
Răspunsuri la întrebare
Răspuns de
4
#include <iostream>
using namespace std;
int main ()
{
int S, n, A[1005], i, a, b;
S=a=b=0;
cin>> n;
for ( i=1; i<=n; i++)
cin>> A[i];
for ( i=1; i<=n; i++)
{
if(A[i]%2==0)
a=i;
}
for( i=n; i>=1; i--)
{
if( A[i]%2== 0)
b=i;
}
for (i=b; i<=a; i++)
S= S+ A[i];
if(a!=b)
cout<< S;
else
cout<< "NU EXISTA";
return 0;
}
//Am editat răspunsul :)) Acum e programul tău - corectat - scoate 100 pe pbinfo
using namespace std;
int main ()
{
int S, n, A[1005], i, a, b;
S=a=b=0;
cin>> n;
for ( i=1; i<=n; i++)
cin>> A[i];
for ( i=1; i<=n; i++)
{
if(A[i]%2==0)
a=i;
}
for( i=n; i>=1; i--)
{
if( A[i]%2== 0)
b=i;
}
for (i=b; i<=a; i++)
S= S+ A[i];
if(a!=b)
cout<< S;
else
cout<< "NU EXISTA";
return 0;
}
//Am editat răspunsul :)) Acum e programul tău - corectat - scoate 100 pe pbinfo
Răspuns de
1
De fapt greseala este ca dupa ce parcurgi primul sir de la 1 la n si cauti primul element par ai uitat sa ii dai "break" si al cel impar lafel.
Sau daca nu vrei sa folosesti break pleci cu un "ok=0" si il negi in for si e tot lafel ca break
Alte întrebări interesante
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă