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

Buna!! Cine ma poate ajuta cu aceasta problema (in C++) Multumesc!!

Anexe:

Răspunsuri la întrebare

Răspuns de andrei750238
1

#include <iostream>

#include <fstream>

using namespace std;

ifstream f("bac.txt");

int main(){

   int nrap=1, x, ante;

   f >> ante;

   while(!f.eof()){

       f >> x;

       if(x!=ante){

           //Daca numarul citit e diferit de anterior

           //Afisare numar + nr aparitii

           cout << ante << " " << nrap << " ";

           //Reseteaza numarul de aparitii, schimba valoarea anterioara

           nrap=1;

           ante=x;

       }

       else {

           //Daca numarul citit e egal cu anterior, incremeteaza nr de aparitii

           nrap++;

       }

   }

   //Afiseaza datele pentru ultimul grup de numere citite

   cout << ante << " " << nrap << " ";

}


andrei750238: Si daca ai nevoie si de punctul B :

Algoritmul folosit este unul eficient dpdv al spatiului utilizat, fiind folosite doar variabile simple. Algoritmul e unul eficient dpdv al timpului de executie pentru ca se realizeaza o singura trecere prin lista de valori.
teoteodor55: Mulțumesc!!
Alte întrebări interesante