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

27) Fişierul date.in memorează numere întregi de cel mult 4 cifre fiecare ordonate crescător. Să se afişeze fiecare valoare o singură dată si frecventa ei in fisier.
Exemplu 2 2 2 2 3 3 3 3 3 4 4 4 4 7 7 10 10 10 se afiseaza
2 4
3 5
4 4
7 2
10 3

Răspunsuri la întrebare

Răspuns de andrei750238
1

#include <iostream>

#include <fstream>

using namespace std;

ifstream f("date.in");

int main(){

   int ante, x, nr=1;

   f >> ante;

   while(!f.eof()){

       f >> x;

       if(x!=ante){

           cout << ante << " " << nr << endl;;

           nr = 1;

       }

       else nr++;

       ante=x;

   }

   cout << x << " " << nr;

}


andrei750238: Explicatie :
In ante memoram valoarea citita anterior, in x memoram valoare curenta.
andrei750238: Daca valoarea curenta e egala cu valoarea anterioara atunci incrementam numarul de aparitii (nr++)
andrei750238: Daca valoare curenta e diferita de cea anterioara afisam numarul valoarea anterioara si numarul de aparitii
andrei750238: Iar la final, dupa ce am terminat fisierul mai afisam ultima valoare.
daria2879: mersiii
Alte întrebări interesante