Rezolvare completă PbInfo #809 NrLipsa1

Cerința

Fișierul de intrare conține cel puțin 3 și cel mult 1.000.000 de numere naturale. Se cere să se afișeze în fișierul de ieșire, separate printr-un spaţiu, două numere distincte, anume cel mai mic număr par cu două cifre și cel mai mare număr par cu două cifre care NU fac parte din şir.

Dacă nu există două astfel de valori, în fișierul de ieșire se afişează mesajul nu exista.

Date de intrare

Fișierul de intrare nrlipsa1.in conține cel puțin 3 și cel mult 1.000.000 de numere naturale, separate prin câte un spațiu, dispuse pe mai multe linii.

Date de ieșire

Fișierul de ieșire nrlipsa1.out va conține pe prima linie valorile cerute, separate prin câte un spațiu, sau mesajul nu exista.

Restricții și precizări

  • numerele din fișierul de intrare vor fi din intervalul (0, 1.000.000.000)

Exemplu

nrlipsa1.in

7 2 40 5 10 15 11 12 18 350

nrlipsa1.out

14 98

Cum e corect?

cout < "As la info"; cout << "As la info"; cout >> "As la info";

Felicitări! Poți mai mult?

Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.

Greșit, dar nu-i bai!

Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.

Rezolvare

Iată rezolvarea de 100 de puncte pentru problema NrLipsa1:

#include <fstream>
using namespace std;

ifstream fin("nrlipsa1.in");
ofstream fout("nrlipsa1.out");

int v[100];

int main(){
    int n;
    while(fin >> n)
        if(n > 9 && n < 100)
            v[n] = 1;
    int a = -1, b = -1;
    for(int i = 10 ; i < 100 && a == -1; i += 2)
        if(v[i] == 0)
            a = i;
    for(int i = 98 ; i > 9 && b == -1; i -= 2)
        if(v[i] == 0)
            b = i;
    if(a == b)
        fout << "nu exista";
    else
        fout <<a << " " << b;
    return 0;
}

Atenție

Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa Adresa de email.

Rezolvarea problemei #809 NrLipsa1

Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #809 NrLipsa1 de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.

Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!