Facebook
From Paltry Bongo, 2 Weeks ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 36
  1. //zliczanie znaków podwójnych
  2. #include <iostream>
  3. #include <fstream>
  4.  
  5. using namespace std;
  6.  
  7. int main ()
  8. {
  9.         const int nall=36;
  10.         char litery[nall];
  11.         for(int i=0;i<26;i++) litery[i]='a'+i;
  12.         for(int i=0;i<10;i++) litery[i+26]='0'+i;
  13.        
  14.         for(int i=0;i<36;i++)
  15.         {
  16.                 cout<<litery[i];
  17.         }
  18.         cout<<endl;
  19.         double fract[nall] ={0.0};
  20.         int n=0;
  21.        
  22.         string namein;
  23.         cout << "Podaj nazwe pliku: ";
  24.         cin >> namein;
  25.         ifstream plik(namein.data());
  26.         char ch,lastch;
  27.         while(plik >> noskipws >> ch)
  28.         {
  29.                 ch = tolower(ch);
  30.                 int num= -1;
  31.                 for(int i=0;i<nall;i++)
  32.                 {
  33.                         if(ch==litery[i])
  34.                         {
  35.                                 num=i;
  36.                                 break;
  37.                         }
  38.                 }
  39.                 if(num!=-1)
  40.                 {
  41.                         if(ch==lastch)
  42.                         {
  43.                                 fract[num]++;
  44.                                 n++;
  45.                         }
  46.                 }
  47.                 lastch=ch;
  48.         }
  49.         plik.close();
  50.         for(int i=0;i<nall;i++)
  51.         {
  52.         cout<<litery[i]<<": "<<fract[i]<<", "<<fract[i]/n*100.0<<"%"<<endl;    
  53.         }
  54.         return 0;
  55. }