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

Am mare nevoie de ajutor la problema 2275 de pe pbinfo
care este codul?

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

Răspunsuri la întrebare

Răspuns de rossetta
9
#include <iostream>
using namespace std;

int main() {
 
    int n, min1 = 1000001, min2 = 1000001;
    cin >> n;
    for(int i = 0; i < n; i++) {
      int v;
      cin >> v;
      if(v % 10 == v / 10 % 10 && v > 0) {
        if(v  < min1) {
          min2 = min1;
          min1 = v;
        }
        else if(v < min2)
          min2 = v;
      }
    }
    if(min1 != 1000001 && min2 != 1000001)
      cout << min1 << " " << min2;
    else
      cout << "numere insuficiente";
    return 0;
}

florypq: dar trebuia cu fstream (fisiere text)
rossetta: Da, poti sa le adaugi tu. Eu folosesc alta sintaxa pentru fisiere
Alte întrebări interesante