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

Cerinţa
Se dau mai multe numere naturale cu cel mult 9 cifre fiecare. Să se determine cele mai mari două numere de 3 cifre care nu se găsesc printre numerele date.
Date de intrare
Cerinţa
Se dau mai multe numere naturale cu cel mult 9 cifre fiecare. Să se determine cele mai mari două numere de 3 cifre care nu se găsesc printre numerele date.
Date de intrare
Fişierul de intrare nrlipsa.in conţine cel mult 100000 de numere, dispuse pe mai multe linii, numerele de pe fiecare linie fiind separate prin unul sau mai multe spaţii.
Date de ieşire
Fişierul de ieşire nrlipsa.out va conţine pe prima linie cele mai mari două numere de trei cifre care nu apar în fişierul de intrare, ordonate descrescător, separate prin exact un spaţiu.
Restricţii şi precizări
dacă nu există două numere de trei cifre care să nu se afle în fişierul de intrare atunci se va afişa mesajul NU.
URGENT!!

Răspunsuri la întrebare

Răspuns de boiustef
1

Răspuns:

#include <iostream>

#include <fstream>

using namespace std;

int v[1000];

int main()

{

   ifstream f("nrlipsa.in");

   ofstream g("nrlipsa.out");

   int num, a, b, nr=0, i;

   while (f >> num)

   {

        if (num>=100 && num<1000)

       { if (v[num]==0) {v[num]=1; ++nr;}}

   }

   if (900-nr<2) g << "NU";

   else

   {

       i=999;

       while (v[i]==1) --i;

       b=i; --i;

       while (v[i]==1) --i;

       a=i;

       g << b << " " << a;

   }

   return 0;

}

Explicație:

Alte întrebări interesante
Matematică, 8 ani în urmă