Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdlib>
- #include <iostream>
- using namespace std;
- /*
- * Написать функцию, которая принимает строку,
- * а возвращает количество гласных, согласных и символов-разделителей в ней.
- * Объявить указатель на полученную функцию и вызвать её с помощью указателя.
- */
- int* ykaz(char *str);
- int main() {
- int*(*ptrnod)(char *str);
- ptrnod = ykaz;
- char *str = new char;
- cout << "Enter value a String:" << endl;
- cin.getline(str, 90);
- int* mas = ptrnod(str);
- cout << "Soglas " << mas[0] << endl << "Glas " << mas[1] << endl << "Razdel " << mas[2] << endl;
- system("pause");
- return 0;
- }
- int* ykaz(char *str) {
- char buf_gl[] = "AEIOUaeiou";
- char buf_sg[] = "QWRTYPSDFGHJKLZXCVBNMqwrtypsdfghjklzxcvbnm";
- int ch_gl = 0;
- int ch_sg = 0;
- int ch_raz = 0;
- int n = 0, k = 0, m = 0;
- while (str[n] != '\0') {
- k = 0;
- m = 0;
- while (buf_gl[k] != '\0') {
- if (buf_gl[k] == str[n]) ch_gl++;
- k++;
- }
- while (buf_sg[m] != '\0') {
- if (buf_sg[m] == str[n]) ch_sg++;
- m++;
- }
- if (str[n] == ' ' || str[n] == '\n' || str[n] == '\t') ch_raz++;
- n++;
- }
- int *mas = new int[3];
- mas[0] = ch_gl;
- mas[1] = ch_sg;
- mas[2] = ch_raz;
- return mas;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement