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

Pbinfo 525.

Se dau n numere naturale. Determinaţi cele mai mari două numere cu trei cifre care nu apar printre numerele date. Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spații. Programul va afișa pe ecran numerele a b, a < b reprezentând cele două numere determinate. Dacă nu se pot găsi două astfel de numere, se va afişa mesajul NU EXISTA. 1 ≤ n ≤ 500.000

cele n numere citite vor fi mai mici decât 1.000.000.000

VA ROG EU ADAUGATI
COMENTARII LA PROBLEMA! LA MAJORITATEA LINIILOR ADAUGATI // SI DUPA, UN COMENTARIU IN CARE EXPLICATI DE CE ATI SCRIS ASA.

VA ROG URGENT!!!!!

Răspunsuri la întrebare

Răspuns de Mihaelaax
0

Răspuns:

#include <iostream>

using namespace std;

int i,n,v[1001],x,x1,ok;

int main()

{

cin>>n;

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

{

   cin>>x;

   if (x<1000)

       v[x]=1;

}

x=0;

x1=0; ok=0;

   for (i=999;i>=100 && !ok;i--)

   {

       if (v[i]==0 && !x)

           x=i;

       else

           if (v[i]==0 && x)

           {

                   ok=1;

               x1=i;

           }

   }

   if (!x || !x1)

       cout<<"NU EXISTA";

   else

       cout<<x1<<" "<<x;

   return 0;

}

Explicație:


iTsMeBtW: poti te roggg sa explici?
Alte întrebări interesante