Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <locale.h>
- using namespace std;
- int my_strlen(char* str)
- {
- int i=0, simb_str = 0;
- while (i < 255)
- {
- if ((((int)str[i] <= 255) && ((int)str[i] >= 1)))
- {
- simb_str++;
- i++;
- }
- else break;
- }
- return simb_str;
- }
- /////////
- // //
- // //
- // //
- //////////
- // //
- // //
- // //
- /////////
- int soglglas( char* s)
- {
- char* s1 = s;
- int i = 0;
- int sogl = 0, glas = 0, igriki=0;
- for (int i = 0; i < my_strlen(s1); i++) // все к одному регистру
- {
- if (s1[i] >= 'A' && s1[i] <= 'Z')
- {
- s1[i] = s1[i]+32;
- }
- }
- i = 0;
- int kol=0;
- int poz;
- while (i < my_strlen(s1)+1)
- {
- if (s1[i] == '1' || s1[i] == '2' || s1[i] == '3' ||
- s1[i] == '4' || s1[i] == '5' && s1[i] == '6' || s1[i] == '7' || s1[i] == '8' ||
- s1[i] == '9' || s1[i] == '0')
- {
- sogl = 0;
- glas = 0;
- for (poz = i; poz <= my_strlen(s1); poz++)
- {
- if ((s1[poz] != ' ' && s1[poz + 1] != ' ') )
- {
- i = poz;
- break;
- }
- }
- }
- if (((int)s1[i] != (int)' ' && (int)s1[i + 1] != (int)' ' ) || s1[i] != '\0') // подсчет гласных и согласних
- {
- /*подсчет согласных*/ if (((int)s1[i] <= 100 && (int)s1[i] >= 98) || ((int)s1[i] <= 104 && (int)s1[i] >= 102) ||
- ((int)s1[i] <= 110 && (int)s1[i] >= 106) || ((int)s1[i] <= 116 && (int)s1[i] >= 112) ||
- ((int)s1[i] <= 120 && (int)s1[i] >= 118) || (int)s1[i] == 122)
- sogl++;
- /*подсчет гласных*/ if ((int)s1[i] == 97 || (int)s1[i] == 101 || (int)s1[i] == 105 || (int)s1[i] == 111 || (int)s1[i] == 117)
- glas++;
- // /*подсчет игриков*/ if ((int)s1[i] == 121)
- // igriki++;
- }
- if ((((int)s1[i] == (int)' ' && (int)s1[i+1] != (int)' ' ) || s1[i] == '\0') && (sogl == glas) && sogl!=0)
- {
- kol++;
- }
- if ((((int)s1[i] == (int)' ' && (int)s1[i + 1] != (int)' ') || s1[i] == '\0'))
- {
- sogl = 0;
- glas = 0;
- }
- i++;
- }
- return kol;
- }
- //\\
- // \\
- // \\
- // \\
- //========\\
- // \\
- // \\
- char* my_strstr(char* str1,char* str2)
- {
- char* cp = (char*)str1;
- char* s1, * s2;
- if (!*str2)
- return((char*)str1);
- while (*cp)
- {
- s1 = cp;
- s2 = (char*)str2;
- while (*s1 && *s2 && !(*s1 - *s2))
- s1++, s2++;
- if (!*s2)
- return(cp);
- cp++;
- }
- return 0;
- }
- int main()
- {
- setlocale(LC_ALL,".1251");
- cout << "часть А" << endl;
- cout << "введите исходную строку" << endl;
- char str[255];
- cin.getline(str,255);
- cout << "введите искомую строку" << endl;
- char substr[255];
- cin.getline(substr,255);
- int i = 0;
- int simb_sub=0, simb_str = 0;
- while (i<255)
- {
- if ((((int)substr[i] <= 255) && ((int)substr[i] >= 1)))
- {
- simb_sub++;
- i++;
- }
- else break;
- }
- i = 0;
- while (i < 255)
- {
- if ((((int)str[i] <= 255) && ((int)str[i] >= 1)))
- {
- simb_str++;
- i++;
- }
- else break;
- }
- // cout << simb_str << " " << simb_sub << endl;
- cout<<my_strstr(str, substr)<<endl;
- cout << "часть В" << endl;
- cout << "введите строку" << endl;
- char str1[255];
- cin.getline(str1, 255);
- cout << soglglas(str1)<<endl;
- return 0;
- }
- // if ( (((int)substr <= 90) && ((int)substr >= 65)) || ((((int)substr <= 122) && ((int)substr >= 97))) || ((((int)substr <= 57) && ((int)substr >= 48))) || (((int)substr <= 175) && ((int)substr >= 128)) || (((int)substr <= 241) && ((int)substr >= 224)))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement