Advertisement
evgenko

Untitled

Jun 5th, 2016
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.27 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4. int bukva(char a)
  5. {
  6.     if (((a>='A')&&(a<='Z')) || ((a>='a')&&(a<='z')))
  7.         return 1;
  8.     return 0;
  9. }
  10.  
  11. int bigbukva (char b)
  12. {
  13.     if ((b>='A')&&(b<='Z'))
  14.         return 1;
  15.     return 0;
  16. }
  17.  
  18. void clean_masiv(int a[],int n)
  19. {
  20.     for (int i=0; i<n; i++)
  21.     a[i]=0;
  22. }
  23. void poisk_plus(char b, int alpabet[])
  24. {
  25.     if (bigbukva(b)==1)
  26.         alpabet[b-65]++;
  27.     else
  28.         alpabet[b-97]++;
  29. }
  30. void proindex (int a[],int n)
  31. {
  32.     for (int i=0;i<n;i++)
  33.         a[i]=i;
  34. }
  35. void swaped (int&a, int&b)
  36. {
  37.     int c;
  38.     c=a;
  39.     a=b;
  40.     b=c;
  41. }
  42. void sortirovka(int a[], int b[],int n)
  43. {
  44.     for (int i=0;i<n;i++)
  45.     {
  46.         for (int j=0;j<n;j++)
  47.             if (a[b[i]]>a[b[j]])
  48.                 swaped(b[i],b[j]);
  49.  
  50.     }
  51. }
  52. void delat_vse(char stroka[],int alpabet[],int vivoda_simvolov[],int n)
  53. {
  54.     int i=0;
  55.     clean_masiv(alpabet,n);
  56.     proindex(vivoda_simvolov,n);
  57.     while (stroka[i]!=0)
  58.     {
  59.         if (bukva(stroka[i])==1)
  60.         {
  61.             poisk_plus(stroka[i],alpabet);
  62.         }
  63.         i++;
  64.     }
  65.     sortirovka(alpabet,vivoda_simvolov,n);
  66. }
  67. void vivesti(int alpabet[],int porjadok[])
  68. {
  69.     int i=0;
  70.     while (alpabet[porjadok[i]]!=0)
  71.     {
  72.         char a=porjadok[i]+'A';
  73.         cout<<a<<" - "<<alpabet[porjadok[i]]<<endl;
  74.         i++;
  75.     }
  76. }
  77.  
  78.  
  79.  
  80. void test_bukva()
  81. {
  82.     bool a = true;
  83.     for (int i=0;i<26;i++)
  84.     {
  85.         char a=i+65;
  86.         if (bukva(a)==0)
  87.         {
  88.             a = false;
  89.             cout << "TEST BUKVA FALSE!!!!!!!!!" << endl;
  90.             break;
  91.         }
  92.     }
  93.  
  94.     for (int i=0;i<26;i++)
  95.     {
  96.         char a=i+97;
  97.         if (bukva(a)==0)
  98.         {
  99.             a=false;
  100.             cout << "TEST BUKVA FALSE!!!!!!!!!" << endl;
  101.             break;
  102.         }
  103.     }
  104.  
  105.  
  106.         for (int i=0;i<65;i++)
  107.     {
  108.         char a=i;
  109.         if ((bukva(a))==1)
  110.         {
  111.             a=false;
  112.             cout << "TEST BUKVA FALSE!!!!!!!!!!" << endl;
  113.             break;
  114.         }
  115.     }
  116.     if (a==true)
  117.         cout << "TEST BUKVA 'OK'" << endl;
  118. }
  119. void test_clean_masiv()
  120. {
  121.     int a[4];
  122.     bool b = true;
  123.     for (int i=0;i<4;i++)
  124.         a[i]=i;
  125.  
  126.     clean_masiv(a,4);
  127.     for (int i=0;i<4;i++)
  128.         if (a[i]!=0)
  129.         {
  130.             b=false;
  131.             cout << "TEST CLEAN_MESIVE FALSE!!!!!!!!!!"<<endl;
  132.             break;
  133.         }
  134.     if (b == true)
  135.     cout<<"TEST CLEAN_MESIVE 'OK'" << endl;
  136. }
  137. void test_big_bugva()
  138. {
  139.     bool a = true;
  140.     for (int i=0;i<26;i++)
  141.     {
  142.         char a=i+65;
  143.         if (bigbukva(a)==0)
  144.         {
  145.             a = false;
  146.             cout << "TEST BIG_BUKVA FALSE!!!!!!!!!" << endl;
  147.             break;
  148.         }
  149.     }
  150.     if (a==true)
  151.         cout<<"TEST BIG_BUKVA 'OK'"<< endl;
  152. }
  153. void test_poisk_plus()
  154. {
  155.     int a[2];
  156.     poisk_plus('a',a);
  157.     if (a[0]=1)
  158.         cout<<"TEST POISK_PLUS 'OK'"<<endl;
  159.     else
  160.         cout<<"TEST POISK_PLUS FALSE!!!!!!!!!!!!!!"<<endl;
  161. }
  162. void test_proindex()
  163. {
  164.     bool b=true;
  165.     int a[3];
  166.     for (int i=0; i<3; i++)
  167.     a[i]=0;
  168.     proindex(a,3);
  169.     for (int i=0; i<3;i++)
  170.         if (a[i]!=i)
  171.         {
  172.             b=false;
  173.             cout<<"TEST PROINDEX FALSE!!!!!!!!!!!!!"<<endl;
  174.             break;
  175.         }
  176.     if (b==true)
  177.         cout<<"TEST PROINDEX 'OK'"<<endl;
  178. }
  179. void test_sortirovka()
  180. {
  181.     int a[2];
  182.     int b[2];
  183.     a[0]=0;
  184.     a[1]=3;
  185.     proindex(b,2);
  186.     sortirovka(a,b,2);
  187.     if (b[0]==0)
  188.         cout<<"TEST SORTIROVKA FALSE!!!!!"<<endl;
  189.     else
  190.         cout<<"TEST SORTIROVKA 'OK'"<<endl;
  191. }
  192. void test_swaped()
  193. {
  194.     int a=1;
  195.     int b=2;
  196.     swaped(a,b);
  197.     if (a==2)
  198.         cout<<"TEST SWAPED 'OK'"<<endl;
  199.     else
  200.         cout<<"TEST SWAPED FALSE!!!!!!"<<endl;
  201. }
  202. void test()
  203. {
  204.     test_bukva();
  205.     test_big_bugva();
  206.     test_clean_masiv();
  207.     test_poisk_plus();
  208.     test_proindex();
  209.     test_sortirovka();
  210.     test_swaped();
  211. }
  212.  
  213.  
  214.  
  215.  
  216. int main()
  217. {
  218.     //test();
  219.     char vhod_stroka[100];
  220.     int kolvo_bukv_po_poz_v_alpabet[26];
  221.     int porjadok_vivoda_simvolov[26];
  222.     cin.getline(vhod_stroka,100);
  223.     delat_vse (vhod_stroka, kolvo_bukv_po_poz_v_alpabet, porjadok_vivoda_simvolov,26);
  224.     vivesti(kolvo_bukv_po_poz_v_alpabet, porjadok_vivoda_simvolov);
  225.  
  226. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement