Informatică, întrebare adresată de loridia, 9 ani în urmă

Se dau n numere naturale. Determinaţi cele mai mari două numere cu trei cifre care nu apar printre numerele date.

Răspunsuri la întrebare

Răspuns de Incognito
7
Se citesc n si cele n numere. Apoi se tiparesc cele mai mari  2 numere de 3 cifre care nu apar printre numerele date.
  #include <iostream>
using namespace std;
int main()
{  
 int i,k=0,n,m=999,p=0;
cin>>n;
int v[100];
for(i=0;i<n;i++)cin>>v[i];
while(k<2)   
    {  
for(i=0;i<n;i++)        
if(v[i]==m){p=p+1;}       
if(p==0){cout<<m<<" ";k=k+1;}       
p=0;       
m=m-1;       
     }
}

Răspuns de AntiEaglesDavids
4
#include <iostream>
using namespace std;

int viz[1005], v[200];

int main()
{
    int n, x = -1, y = -1;

    cin >> n;
    for(int i=1; i<=n; i++) {
        cin >> v[i];
        viz[v[i]] = 1;
    }

    for(int i = 999; (x == -1 || y == -1) && i > 99; i--) {
        if(!viz[i])
            if(x == -1) x = i;
            else if(y == -1) y = i;
    }

    cout << x << ' ' << y << '\n';
    return 0;
}


loridia: am incercat ambele variante pe pbinfo si primesc 0 puncte :(
Alte întrebări interesante