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

Problema calcParImpar #3284 de pe pbinfo va rog:
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ăspunsuri la întrebare

Răspuns de pmarian98
1

Răspuns:

#include <iostream>

using namespace std;

int main()

{

   int n,x[20],k=0,maxim=0,minim=99;

   cin>>n;

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

       cin>>x[i];

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

   {

       k++;

       if(k%2==0){

           if(x[k]>maxim)

             maxim=x[k];}

       else

           {if(x[k]>=10 and x[k]<=99)

             if(minim>x[k])

             minim=x[k];}

   }

   if(maxim==0 && minim!=99)

       cout<<-1<<" "<<minim;;

   if(minim==99 && maxim!=0)

       cout<<maxim<<" "<<-1;

   if(minim!=99 && maxim!=0)

   cout<<maxim<<" "<<minim;

   return 0;

}

Explicație:

Alte întrebări interesante