Scrieți o funcție care primește ca parametri un număr natural n și un vector cu n elemente naturale și returnează suma valorilor elementelor prime cuprinse între primul și ultimul element par al vectorului.
Răspunsuri la întrebare
#include <iostream>
using namespace std;
int foo(int n, int v[])
{
int first_even_position = -1;
int last_even_position = -1;
int sum = 0;
int i = 0;
// searches for first even number
while(i < n && first_even_position == -1)
{
if (v[i] % 2 == 0)
{
first_even_position = i;
}
i++;
}
// searches for last even number
i = n - 1;
while(i >= 0 && last_even_position == -1)
{
if (v[i] % 2 == 0)
{
last_even_position = i;
}
i++;
}
if(last_even_position == first_even_position)
return -1; // there are less than 2 even numbers
for(i = first_even_position; i <= last_even_position; i++)
sum += v[i];
return sum;
}
int main()
{
int number_of_elements, array[100];
cin >> number_of_elements;
for(int index = 0; index < number_of_elements; index++)
{
cin >> array[index];
}
cout << foo(number_of_elements, array) << endl;
return 0;
}