Rezolvare completă PbInfo #2275 MinimDoua

Cerința

Se dau n numere naturale. Determinați cele mai mici două numere dintre cele introduse care au ultimele două cifre egale. Dacă nu există cel puțin două astfel de numere se va afișa numere insuficiente.

Date de intrare

Fișierul de intrare minimdoua.in conține pe prima linie numărul n, iar pe a doua linie n numere naturale separate prin spații.

Date de ieșire

Fișierul de ieșire minimdoua.out va conține pe prima linie numerele minim1 si minim2, reprezentând minimele cerute, în ordine crescătoare, dacă fișierul de intrare conține cel puțin două astfel de numere, respectiv numere insuficiente, în caz contrar.

Restricții și precizări

  • 1 ≤ n ≤ 200
  • pentru fiecare număr x de pe a doua linie a fișierului de intrare este îndeplinită relația 0 ≤ x ≤ 1.000.000
  • minimele cerute vor avea cel puțin două cifre

Exemplul 1:

minimdoua.in

7
12 55 112 322 477 115 7

minimdoua.out

55 322

Exemplul 2:

minimdoua.in

6
12 55 112 3 4774 115 

minimdoua.out

numere insuficiente

Explicație

În fișierul de intrare este doar un singur număr cu proprietatea cerută.

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 MinimDoua:

#include<fstream>
#define MAX 1000000
using namespace std;
ifstream fin("minimdoua.in");
ofstream fout("minimdoua.out");

int main()
{
    int n,i,x,minim1=MAX+10,minim2=MAX+10;
    fin>>n;
    for(i=1; i<=n; i++)
    {
        fin>>x;
        if(x >= 10 && x%10 == x/10%10)
        {
            if(x < minim1)
            {
                minim2 = minim1;
                minim1 = x;
            }
            else if(x < minim2)
            {
                minim2 = x;
            }
        }
    }
    if(minim2 <= MAX)
    {
        fout<<minim1<<" "<<minim2;
    }
    else
    {
        fout<<"numere insuficiente";
    }

    fin.close();
    fout.close();

    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 #2275 MinimDoua

Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #2275 MinimDoua 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!