Informatică, întrebare adresată de TDRBOSS, 8 ani în urmă

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

Răspuns de Paddon
0

#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;

}

Alte întrebări interesante