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

Scrieți un program care afișează cele mai frecvente litere care apar într-un fișier. Programul nu va face distincție între literele mari și mici. Dacă există mai multe litere care apar de cel mai multe ori în fișier, programul le va afișa pe toate. Dacă nu există nici o literă în fișier, programul va afișa un mesaj corespunzător.

Răspunsuri la întrebare

Răspuns de boiustef
0

#include <iostream>

#include <fstream>

#include <cstring>

using namespace std;

ifstream f("text.in");

char s[256], ch;

int exista=0, n, i, fr[91], maxap, cod;

int main()

{

  f.getline(s,256);

  n=strlen(s);

  for (i=0; i<n; ++i)

  {

      if (s[i]>='A' && s[i]<='Z') { cod=s[i]; ++fr[cod]; exista=1;}

      else

      {

          if (s[i]>='a' && s[i]<='z') { cod=s[i]; ++fr[cod-32]; exista=1; }

      }

  }

  if (exista==0) cout << "textul din fisier nu contine litere...";

  else

  {

      cout << "Litere din fisier cu frecventa maxima: ";

      for (i=65; i<91; ++i)

       {

           if (fr[i]>maxap) maxap=fr[i];

       }

      for (i=65; i<91; ++i)

      {

          if (maxap==fr[i])

            { ch=i; cout << ch << " "; }

      }

  }

}

Alte întrebări interesante