Help.
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.
Si rezolvarea mea care bineinteles nu e buna
#include
using namespace std;
int main()
{int v[20],n,c1,c2,i,s;
cin>>n;
s=0;
c1=0;
c2=0;
for(i=1;i<=n;i++)
cin>>v[i];
for(i=1;i<=n;i++)
if(v[i]%2==0)
c1=i;
for(i=n;i>=1;i--)
if(v[i]%2==0)
c2=i;
if((c1==c2)&&(c1%2!=0))
cout<<"Nu exista";
else
for(i=c1;i<=c2;i++)
s=s+v[i];
cout<
return 0;
}
AntiEaglesDavids:
bineinteles ca nu e buna
Răspunsuri la întrebare
Răspuns de
1
#include <iostream>
int main()
{
static const int32_t TEMP = -1;
uint32_t * n = new uint32_t;
int32_t * st = new int32_t(TEMP);
int32_t * dr = new int32_t(TEMP);
std::cin >> (*n);
int32_t * v = new (std::nothrow) int [*n];
int32_t * suma = new int32_t(0);
for(size_t it = 0u; it != static_cast<size_t>(*n); ++it) {
std::cin >> v[it];
if((~v[it] & 1) && *st == TEMP)
*st = static_cast<int32_t>(it);
if(~v[it] & 1)
*dr = static_cast<int32_t>(it);
}
if(*st == *dr && *st == TEMP)
std::cout << "Nu exista\n";
else {
for(size_t it = *st; it <= static_cast<size_t>(*dr); ++it)
*suma += v[it];
std::cout << *suma << '\n';
}
delete n;
delete st;
delete dr;
delete suma;
delete[] v;
// by AntiEaglesDavids the Bossman
return 0;
}
int main()
{
static const int32_t TEMP = -1;
uint32_t * n = new uint32_t;
int32_t * st = new int32_t(TEMP);
int32_t * dr = new int32_t(TEMP);
std::cin >> (*n);
int32_t * v = new (std::nothrow) int [*n];
int32_t * suma = new int32_t(0);
for(size_t it = 0u; it != static_cast<size_t>(*n); ++it) {
std::cin >> v[it];
if((~v[it] & 1) && *st == TEMP)
*st = static_cast<int32_t>(it);
if(~v[it] & 1)
*dr = static_cast<int32_t>(it);
}
if(*st == *dr && *st == TEMP)
std::cout << "Nu exista\n";
else {
for(size_t it = *st; it <= static_cast<size_t>(*dr); ++it)
*suma += v[it];
std::cout << *suma << '\n';
}
delete n;
delete st;
delete dr;
delete suma;
delete[] v;
// by AntiEaglesDavids the Bossman
return 0;
}
Răspuns de
3
#include <iostream>
using namespace std;
int main(){
int i,s=-1,e,v[100],n,sum=0;
cin>>n;
for(i=0;i<n;i++){
cin>>v[i];
if(v[i]%2==0){
if(s==-1)s=i;
e=i;
}
}
for(i=s;i<=e;i++)sum+=v[i];
cout<<sum;
}
using namespace std;
int main(){
int i,s=-1,e,v[100],n,sum=0;
cin>>n;
for(i=0;i<n;i++){
cin>>v[i];
if(v[i]%2==0){
if(s==-1)s=i;
e=i;
}
}
for(i=s;i<=e;i++)sum+=v[i];
cout<<sum;
}
Alte întrebări interesante
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Istorie,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă