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

Как написать программу которая считала бы количество букв в string и количество гласных? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.77
QWERY_2012
5 / 5 / 2
Регистрация: 09.09.2012
Сообщений: 227
30.10.2012, 03:05     Как написать программу которая считала бы количество букв в string и количество гласных? #1
Помогите, пожалуйста, написать программу которая считала бы количество букв в string и количество гласных.

Цифры и пробелы, пунктуация, таблицы и newline characters не должны включаться.

На пример:
Enter a string: This programs counts the number of letters and the number of vowels in the string.

There are 67 letters in the entered string.
There are 2 a's, 8 e’s, 3 I’s, 5 o’s, and 3 u’s in the string.


Код, который считает всё количество характеристик и слов следующий:
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
51
52
53
54
55
56
57
58
#include <iostream>
#define MAXNUM 1000
 
using namespace std;
 
 
      int countchars(char[]); /*function returns the number of characters in an entered string */
      int countwords(char []); /*function returns the number of words in the string */
 
int main( )
{
        
   char message[MAXNUM];
   int numchar, numword;
   
    printf("\n Type in any number of words: ");
    gets(message);
    numchar = countchars(message);
    numword = countwords(message);
    printf("\n The number of characters just entered is %d. ", numchar);
    printf(" The number of words just entered is %d.\n", numword);
    
    system("Pause");
    return 0;
}  
 
 
   int countchars(char list[])
   {
       int i, count = 0;
       
       for(i = 0; list[i] != '\0'; i++)
         count++;
         
         return(count);
       }
 
    int countwords(char list[])
    #define YES 1
    #define NO 0
    {
       int i, inaword, count = 0; 
       
       inaword = NO;
         for(i = 0; list[i] != '\0'; i++)
         {
               if (list[i] == ' ')
                 inaword = NO;
               else if (inaword == NO)
               {
                    inaword = YES;
                    count++;
               }
         }
         
         return(count);
       
        }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.10.2012, 03:05     Как написать программу которая считала бы количество букв в string и количество гласных?
Посмотрите здесь:

Написать программу,которая считывает текст с клавиатуры и выводит на экран слова начинающиеся с гласных букв C++
C++ Написать программу, которая будет подсчитывать количество гласных букв в строке, введенной с клавиатуры.
C++ написать программу, которая подсчитывает количество гласных и согласных букв в заданной символьной строке
Как написать программу, которая посчитает количество слов в строке? C++
Написать программу, которая считывает английский текст и выводит на экран слова, начинающиеся с гласных букв. C++
C++ Написать программу, которая считывает английский текст из файла и выводит на экран слова, начинающиеся с гласных букв
C++ Написать программу, которая считывает английский текст из файла и выводит на экран слова, начинающиеся с гласных букв
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
David Sylva
 Аватар для David Sylva
1283 / 945 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
30.10.2012, 10:37     Как написать программу которая считала бы количество букв в string и количество гласных? #2
Можно вот так сделать
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
#include <iostream> 
#include <string> 
 
int main() 
{ 
    std::string str;  
    std::string buffer = "AEIOUaeiou";
    unsigned int count = 0, count_g = 0; 
    unsigned int i, j;
    std::cout << "Inter a string " << std::endl; 
    std::getline(std::cin,str); 
    for ( i = 0; i < str.size(); i++) 
        if(isalpha(str[i])) 
            count++; 
    std::cout << "letters per string " << count << std::endl; 
 
    for ( i = 0; i < str.size(); i++) 
        for ( j = 0; j < buffer.size(); j++)  
            if(str[i] == buffer[j]) 
            {
                count_g++; 
                continue;
            } 
            std::cout << "vowels " << count_g << std::endl;
}
QWERY_2012
5 / 5 / 2
Регистрация: 09.09.2012
Сообщений: 227
30.10.2012, 20:50  [ТС]     Как написать программу которая считала бы количество букв в string и количество гласных? #3
Спасибо огромное!!!

Добавлено через 29 минут
Как бы написать программу, что бы считать количество по каждой букве?

There are 2 a's, 8 e’s, 3 I’s, 5 o’s, and 3 u’s in the string.

и Не пришлось писать функцию для каждой буквы: A, a, e, E и тд??

как здесь:
(или это не реально?)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
  int countvolsA(char list[])
      {
            int count = 0; 
            int i, j;
          
            char gls[] = "A";
             
        
        for(i=0; i<strlen(list); i++)
        for(j=0; j<strlen(gls); j++)
            if(list[i]==gls[j])
            count++;
        
        return(count);
       }
David Sylva
 Аватар для David Sylva
1283 / 945 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
30.10.2012, 20:59     Как написать программу которая считала бы количество букв в string и количество гласных? #4
на каждую букву заводишь счётчик и в том же цикле считаешь количество совпадений.
QWERY_2012
5 / 5 / 2
Регистрация: 09.09.2012
Сообщений: 227
30.10.2012, 21:01  [ТС]     Как написать программу которая считала бы количество букв в string и количество гласных? #5
А потом для 'а'

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int countvolsa(char list[])
      {
            int count = 0; 
            int i, j;
          
            char gls[] = "a";
             
        
        for(i=0; i<strlen(list); i++)
        for(j=0; j<strlen(gls); j++)
            if(list[i]==gls[j])
            count++;
        
        return(count);
       }
и так по каждой букве?
David Sylva
 Аватар для David Sylva
1283 / 945 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
30.10.2012, 21:05     Как написать программу которая считала бы количество букв в string и количество гласных? #6
А какие варианты? Ведь тебе надо знать сколько раз встречается конкретная буква.

Добавлено через 1 минуту
Типа такого
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
#include <iostream> 
#include <string> 
 
int main() 
{ 
    std::string str;  
    std::string buffer = "aeiou";
    unsigned int count = 0, count_g = 0; 
    unsigned int x, j; 
    int a = 0, e = 0, i = 0, o = 0, u = 0;
    std::cout << "Inter a string " << std::endl; 
    std::getline(std::cin,str); 
    for ( x = 0; x < str.size(); x++) 
        if(isalpha(str[x])) 
            count++; 
    std::cout << "letters per string " << count << std::endl; 
 
    for ( x = 0; x < str.size(); x++) 
        for ( j = 0; j < buffer.size(); j++)  
            if(str[x] == buffer[j]) 
            {
                count_g++; 
                if(str[x] == 'a') 
                    a++; 
                if(str[x] == 'u') 
                    u++; 
                if(str[x] == 'e') 
                    e++; 
                if(str[x] == 'i') 
                    i++; 
                if(str[x] == 'o') 
                    o++; 
                continue;
            } 
            std::cout << "vowels " << count_g << std::endl; 
            std::cout << "a " << a << std::endl;
            std::cout << "u " << u << std::endl;
            std::cout << "e " << e << std::endl;
            std::cout << "i " << i << std::endl;
            std::cout << "o " << u << std::endl;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.10.2012, 21:08     Как написать программу которая считала бы количество букв в string и количество гласных?
Еще ссылки по теме:

6. Написать программу, которая предлагает пользователю ввести сумму в гривнах (дробное число) и выводит по отдельности количество гривен и количество C++
написать программу считающую количество гласных букв в едите C++
C++ Написать программу, которая считывает текст из файла и выводит на экран количество гласных букв в строке текст
Написать программу, которая определяет количество букв «а» в тексте C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
QWERY_2012
5 / 5 / 2
Регистрация: 09.09.2012
Сообщений: 227
30.10.2012, 21:08  [ТС]     Как написать программу которая считала бы количество букв в string и количество гласных? #7
Цитата Сообщение от David Sylva Посмотреть сообщение
на каждую букву заводишь счётчик и в том же цикле считаешь количество совпадений.
Не пойму как.
Не подскажите???


Добавлено через 1 минуту
Спасибо!!!
Теперь понятно.
Yandex
Объявления
30.10.2012, 21:08     Как написать программу которая считала бы количество букв в string и количество гласных?
Ответ Создать тему
Опции темы

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