Se considera fisierul BAC.TXT ce contine un sir
crescator cu cel mult un milion de numere naturale
de cel mult noua cifre fiecare, separate prin câte un
spatiu. Sa se scrie un program C/C++ care, folosind
un algoritm eficient din punct de vedere al memoriei
utilizate si al timpului de executare, citeste din fisier
toti termenii sirului si afiseaza pe ecran, pe o singura
linie, fiecare termen distinct al sirului urmat de
numarul de aparitii ale acestuia în sir. Valorile
afisate sunt separate prin câte un spatiu.
Exemplu: daca fisierul BAC.TXT are urmatorul
continut:
1 1 1 5 5 5 5 9 9 11 20 20 20
programul va afisa:
1 3 5 4 9 2 11 1 20 3
Răspunsuri la întrebare
Răspuns de
1
#include <iostream>
#include <fstream>
using namespace std;
int main(){
ifstream f("bac.txt");
int pre;
f >> pre;
int nr = 1;
int curent;
while(!f.eof()){
f >> curent;
if(curent != pre){
if(nr) cout << pre << " " << nr << " ";
pre=curent;
nr = 1;
}
else nr++;
}
cout << pre << " " << nr << " ";
}
Alte întrebări interesante
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă