👤
15968
a fost răspuns

Să se scrie un program care determină caracterul neimprimabil (cod ASCII mai mic decât 32) cu frecvenţă de apariţie maximă în fişierul IN.TXT.

Răspuns :

#include <iostream>

#include <fstream>

using namespace std;

int main() {

//Deschide fisier, declara variabile

ifstream fin("IN.TXT");

char curent;

int vf[32]{}; //Vector de frecventa care memoreaza de cate ori apare fiecare caracter neprintabil [0,31]

//Cat timp nu am ajuns la sfarsitul fisierului

while (fin) {

 //Citeste caracterul curent din fisier

 curent = fin.get();

 //Daca e neprintabil incrementeaza pozitia corespunzatoare din vector frecventa

 if(curent<32 && curent>0)

  vf[curent]++;

}

//In vectorul de frecventa cauta pozitia pe care valoarea este cea mai mare

int poz_mx = 0;

for (int i = 1; i < 32; i++)

 if (vf[i] > vf[poz_mx]) poz_mx = i;

cout << "Caracterul neprintabil cu cele mai multe aparitii este caracterul cu codul ASCII " << poz_mx;

fin.close();

return 0;

}