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

1. Scrieți o funcție care primește ca parametri un număr natural n și un vector cu n elemente naturale și afișează elementele vectorului în următoarea ordine: ultimul, primul, penultimul, al doilea, etc.
2. Scrieți o funcție care primește ca parametri un număr natural n și un vector cu n elemente naturale și afișează elementele parede exact 2 cifre.
3. 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

1.

int main()

{

   int n, v[100];

   cin >> n;

   for(int i = 0; i < n; i++)

   {

       cin >> v[i];

   }

   int i = 0, j = n - 1;

   while(i < j)

   {

       cout << v[j] << " " << v[i] << endl;

       i++;

       j--;

   }

   if(i == j)

   {

       cout << v[i] << endl;

   }

   return 0;

}

2.

int main()

{

   int n, v[100];

   cin >> n;

   for(int i = 0; i < n; i++)

   {

       cin >> v[i];

   }

   for(int i = 0; i < n; i++)

   {

       if(v[i] % 2 == 0 && v[i] < 100 && v[i] > 9)

       {

           cout << v[i] << " ";

       }

   }

   return 0;

}

3.

bool is_prime(int number)

{

   /**

    * Function that checks if a given number is prime

    */

   if (number == 2)

       return true;

   else if (number <= 2)

       return false;

   int divisor = 3;

   while (divisor * divisor <= number)

   {

       if (number % divisor == 0)

           return false;

       divisor += 2;

   }

   return  true;

}

int main()

{

   int n, v[100];

   cin >> n;

   for(int i = 0; i < n; i++)

   {

       cin >> v[i];

   }

   int first_even_position = -1;

   int last_even_position = -1;

   for(int i = 0; i < n; i++)

   {

       if(v[i] % 2 == 0)

           first_even_position = i;

   }

   for(int i = n - 1; i >= 0; i--)

   {

       if(v[i] % 2 == 0)

           last_even_position = i;

   }

   if(first_even_position == last_even_position)

   {        

       cout << "Nu exista cel putin 2 numere pare";

       return 0;

   }

   int sum = 0;

   for(int i = first_even_position; i <= last_even_position; i++)

   {

       if(is_prime(v[i]))

           sum += v[i];

   }

   return 0;

}

Alte întrebări interesante