Problema #3284 calcParImpar PBinfo.

Cerința
Se dau n numere naturale. Considerăm poziţiile lor numerotate de la 1 la n. Să se determine cea mai mare valoare memorată pe o poziţie pară şi cea mai mică valoare de două cifre aflată pe o poziţie impară.

Date de intrare
Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spații.
Date de ieșire
Programul va afișa pe ecran numerele x şi y, pe același rând și separate prin spațiu, reprezentând, în ordine, cele două valori calculate. În cazul în care nu sunt valori de două cifre pe poziții impare se va afișa -1 în contul valorii y.

Restricții și precizări
2 ≤ n ≤ 20
cele n numere citite vor fi mai mici decât 1.000.000.000

Exemplu
Intrare
5 1 3 3 4 8
Ieșire
4 -1

Explicație
Cea mai mare valoare de pe o poziție pară este 4 și nu avem numere de două cifre pe poziții impare.

Răspuns :

Răspuns:

#include <iostream>

using namespace std;

int n, i, a, x=0,y=-1;

int main()

{

   cin >> n;

   for (i=1; i<=n; i++)

   {

       cin >> a;

       if (i%2==0)

       {

           if (a>x) x=a;

       }

       else

       {

           if (a>9 && a<100)

           {

               if (y==-1)

               {

                   y=a;

               }

               else

               {

                   if (a<y)

                   {

                       y=a;

                   }

               }

           }

       }

   }

   cout << x << " " << y;

}

Explicație: