Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int bukva(char a)
- {
- if (((a>='A')&&(a<='Z')) || ((a>='a')&&(a<='z')))
- return 1;
- return 0;
- }
- int bigbukva (char b)
- {
- if ((b>='A')&&(b<='Z'))
- return 1;
- return 0;
- }
- void clean_masiv(int a[],int n)
- {
- for (int i=0; i<n; i++)
- a[i]=0;
- }
- void poisk_plus(char b, int alpabet[])
- {
- if (bigbukva(b)==1)
- alpabet[b-65]++;
- else
- alpabet[b-97]++;
- }
- void proindex (int a[],int n)
- {
- for (int i=0;i<n;i++)
- a[i]=i;
- }
- void swaped (int&a, int&b)
- {
- int c;
- c=a;
- a=b;
- b=c;
- }
- void sortirovka(int a[], int b[],int n)
- {
- for (int i=0;i<n;i++)
- {
- for (int j=0;j<n;j++)
- if (a[b[i]]>a[b[j]])
- swaped(b[i],b[j]);
- }
- }
- void delat_vse(char stroka[],int alpabet[],int vivoda_simvolov[],int n)
- {
- int i=0;
- clean_masiv(alpabet,n);
- proindex(vivoda_simvolov,n);
- while (stroka[i]!=0)
- {
- if (bukva(stroka[i])==1)
- {
- poisk_plus(stroka[i],alpabet);
- }
- i++;
- }
- sortirovka(alpabet,vivoda_simvolov,n);
- }
- void vivesti(int alpabet[],int porjadok[])
- {
- int i=0;
- while (alpabet[porjadok[i]]!=0)
- {
- char a=porjadok[i]+'A';
- cout<<a<<" - "<<alpabet[porjadok[i]]<<endl;
- i++;
- }
- }
- void test_bukva()
- {
- bool a = true;
- for (int i=0;i<26;i++)
- {
- char a=i+65;
- if (bukva(a)==0)
- {
- a = false;
- cout << "TEST BUKVA FALSE!!!!!!!!!" << endl;
- break;
- }
- }
- for (int i=0;i<26;i++)
- {
- char a=i+97;
- if (bukva(a)==0)
- {
- a=false;
- cout << "TEST BUKVA FALSE!!!!!!!!!" << endl;
- break;
- }
- }
- for (int i=0;i<65;i++)
- {
- char a=i;
- if ((bukva(a))==1)
- {
- a=false;
- cout << "TEST BUKVA FALSE!!!!!!!!!!" << endl;
- break;
- }
- }
- if (a==true)
- cout << "TEST BUKVA 'OK'" << endl;
- }
- void test_clean_masiv()
- {
- int a[4];
- bool b = true;
- for (int i=0;i<4;i++)
- a[i]=i;
- clean_masiv(a,4);
- for (int i=0;i<4;i++)
- if (a[i]!=0)
- {
- b=false;
- cout << "TEST CLEAN_MESIVE FALSE!!!!!!!!!!"<<endl;
- break;
- }
- if (b == true)
- cout<<"TEST CLEAN_MESIVE 'OK'" << endl;
- }
- void test_big_bugva()
- {
- bool a = true;
- for (int i=0;i<26;i++)
- {
- char a=i+65;
- if (bigbukva(a)==0)
- {
- a = false;
- cout << "TEST BIG_BUKVA FALSE!!!!!!!!!" << endl;
- break;
- }
- }
- if (a==true)
- cout<<"TEST BIG_BUKVA 'OK'"<< endl;
- }
- void test_poisk_plus()
- {
- int a[2];
- poisk_plus('a',a);
- if (a[0]=1)
- cout<<"TEST POISK_PLUS 'OK'"<<endl;
- else
- cout<<"TEST POISK_PLUS FALSE!!!!!!!!!!!!!!"<<endl;
- }
- void test_proindex()
- {
- bool b=true;
- int a[3];
- for (int i=0; i<3; i++)
- a[i]=0;
- proindex(a,3);
- for (int i=0; i<3;i++)
- if (a[i]!=i)
- {
- b=false;
- cout<<"TEST PROINDEX FALSE!!!!!!!!!!!!!"<<endl;
- break;
- }
- if (b==true)
- cout<<"TEST PROINDEX 'OK'"<<endl;
- }
- void test_sortirovka()
- {
- int a[2];
- int b[2];
- a[0]=0;
- a[1]=3;
- proindex(b,2);
- sortirovka(a,b,2);
- if (b[0]==0)
- cout<<"TEST SORTIROVKA FALSE!!!!!"<<endl;
- else
- cout<<"TEST SORTIROVKA 'OK'"<<endl;
- }
- void test_swaped()
- {
- int a=1;
- int b=2;
- swaped(a,b);
- if (a==2)
- cout<<"TEST SWAPED 'OK'"<<endl;
- else
- cout<<"TEST SWAPED FALSE!!!!!!"<<endl;
- }
- void test()
- {
- test_bukva();
- test_big_bugva();
- test_clean_masiv();
- test_poisk_plus();
- test_proindex();
- test_sortirovka();
- test_swaped();
- }
- int main()
- {
- //test();
- char vhod_stroka[100];
- int kolvo_bukv_po_poz_v_alpabet[26];
- int porjadok_vivoda_simvolov[26];
- cin.getline(vhod_stroka,100);
- delat_vse (vhod_stroka, kolvo_bukv_po_poz_v_alpabet, porjadok_vivoda_simvolov,26);
- vivesti(kolvo_bukv_po_poz_v_alpabet, porjadok_vivoda_simvolov);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement