Форум программистов, компьютерный форум CyberForum.ru

Подсчитать число гласных и согласных букв в тексте - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.79
shyrik2014
 Аватар для shyrik2014
3 / 3 / 2
Регистрация: 31.10.2009
Сообщений: 112
27.10.2010, 00:59     Подсчитать число гласных и согласных букв в тексте #1
Подсчитать число гласных и согласных букв в тексте в си
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
fygaska
4 / 4 / 1
Регистрация: 18.10.2010
Сообщений: 27
27.10.2010, 01:08     Подсчитать число гласных и согласных букв в тексте #2
посмотри тут, может найдешь что полесное:

ССЫЛКА
shyrik2014
 Аватар для shyrik2014
3 / 3 / 2
Регистрация: 31.10.2009
Сообщений: 112
27.10.2010, 11:37  [ТС]     Подсчитать число гласных и согласных букв в тексте #3
Цитата Сообщение от fygaska Посмотреть сообщение
посмотри тут, может найдешь что полесное:

ССЫЛКА
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include <iostream.h>
#include <string.h>
int IsEqual(const char [], int, char);
int main(int argc, char* argv[])
{
        char glas[] = {'a', 'e', 'y', 'u', 'i', 'o'};
   char soglas[] = {'b', 'c', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 
           'm', 'n', 'p', 'q', 'r', 's', 't', 'v', 'w','x', 'z'};
   int gCount = 0, sCount = 0, count = 0;
   char *buf = NULL;
   char str[100];
 
   cout << "Vvedite stroku: ";
 
   cin.getline(str, 100);
   buf = strtok(str, " ");
   while (buf != NULL)
   {
        if(count % 2 != 0)
        {
   
                for (int i = 0; i < strlen(buf); i++)
                {
                        if (IsEqual(glas, sizeof(glas), buf[i]))
                                gCount++;
                        if (IsEqual(soglas, sizeof(soglas), buf[i]))
                                sCount++;
                }
        }       
   buf = strtok(NULL, " ");
   count++;
   }
 
 
   cout << "Glasnych bukv = " << gCount << endl;
   cout << "Soglasnych bukv = " << sCount << endl;
   system("pause");
        
        return 0;
}
 
int IsEqual(const char arr[], int size, char ch)
{
        for (int i = 0; i < size; i++)
   {
      if (arr[i] == ch)
         return 1;
   }
   return 0;
}
а как это будет выглядеть на чистом си, компилятор не кушает сишный многие строки?
fasked
Эксперт C++
 Аватар для fasked
4925 / 2505 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
27.10.2010, 12:22     Подсчитать число гласных и согласных букв в тексте #4
Можно как-то вот так еще попробовать:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <stdio.h>
#include <ctype.h>
#include <string.h>
 
#define MAXLEN 256
 
int isvowel(char c) {
        if(strchr("euioa", c) == NULL)
                return 0;
        else
                return 1;
}
 
int isconsonant(char c) {
        if(strchr("qwrtpsdfghjklzxcvbnm", c) == NULL)
                return 0;
        else
                return 1;
}
 
int main()
{
        char *ptr = NULL;
        char buffer[MAXLEN] = { 0 };
 
        int nvowel = 0;
        int nconsonant = 0;
 
        printf("input string: ");
        fgets(buffer, MAXLEN, stdin);
 
        printf("%s", buffer);
 
        for(ptr = buffer; *ptr != '\0'; ++ptr) {
                if(isalpha(*ptr)) {
                        if(isvowel(*ptr))
                                ++nvowel;
                        else if(isconsonant(*ptr))
                                ++nconsonant;
                }
        }
 
        printf("amount of consonant: %d\namount of vowel: %d\n", nconsonant, nvowel);
 
        return 0;
}
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
27.10.2010, 14:30     Подсчитать число гласных и согласных букв в тексте #5
fasked, у меня когда-то физику вела немного чудаковатая тётка. Среди прочего переменные, обозначаемые буквой у называла "ыгхрык" или как-то так... Так вот, хде ыгхрык?! (на самом деле - гласная буква в английском алфавите)
fasked
Эксперт C++
 Аватар для fasked
4925 / 2505 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
27.10.2010, 14:51     Подсчитать число гласных и согласных букв в тексте #6
Цитата Сообщение от easybudda Посмотреть сообщение
fasked, у меня когда-то физику вела немного чудаковатая тётка. Среди прочего переменные, обозначаемые буквой у называла "ыгхрык" или как-то так... Так вот, хде ыгхрык?! (на самом деле - гласная буква в английском алфавите)
да... ыгхрык я кажется вообще пропустил. на самом деле совершенно не суть важно, что считать гласной буквой, а что согласной для данной задачи. в ТЗ не оговорено
Yandex
Объявления
27.10.2010, 14:51     Подсчитать число гласных и согласных букв в тексте
Ответ Создать тему
Опции темы

Текущее время: 09:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru