Fișierul bac.txt conține, în ordine crescătoare, cel mult 106 numere naturale din intervalul [0,109],
separate prin câte un spațiu. Se cere să se afișeze pe ecran, în ordine strict crescătoare, separate prin
câte un spațiu, numerele pare distincte care apar în fișier. Dacă nu există niciun astfel de număr, se
afișează pe ecran mesajul nu exista. Proiectați un algoritm eficient din punctul de vedere al memoriei
utilizate și al timpului de executare.
Exemplu: dacă fișierul conține numerele 5 5 6 7 8 8 8 8 10 15 16 16 25 25 49
pe ecran se afișează, în această ordine, numerele 6 8 10 16
Răspunsuri la întrebare
Răspuns de
3
Răspuns:
#include <iostream>
#include<fstream>
using namespace std;
ifstream f("bac.txt");
int x,fr[1000000],ok = 0;
int main() {
while (f >> x) {
if (x % 2 == 0 && fr[x] < 1) {
ok = 1;
++fr[x];
cout << x << " ";
}
}
if (ok == 0)
cout << "Nu exista";
return 0;
}
Explicație:
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Engleza,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Chimie,
9 ani în urmă
Engleza,
9 ani în urmă
Biologie,
9 ani în urmă