Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
2 / 2 / 0
Регистрация: 16.03.2017
Сообщений: 7
1

Реализовать программу, которая читает слова по одному за раз, пока не будет введена отдельная буква q

26.03.2017, 16:56. Показов 2312. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Напишите программу, которая читает слова по одному за раз, пока не будет введена
отдельная буква q. После этого программа должна сообщить количество
слов, начинающихся с гласных, количество слов, начинающихся с согласных, а
также количество слов , не попадающих ни в одну из этих категорий. Одним из
возможных подходов может быть применение isalpha ( ) для различия между
словами , начинающимиcz с букв, и остальными, с последующим применением
if или switch для идентификации тех слов , прошедших проверку isalpha ( ) ,
которые начинаются с гласных. Пример запуска может выглядеть так:
Вводите слова ( q - для выхода ) :
The 12 awesome oxen amЬled
quietly acros s 1 5 meters of lawn . q
5 слов начинаются с гласных
4 слов начинаются с согласных
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <iostream>
#include <cctype>
#include <string>
using namespace std;
int main()
{
    int count_vow = 0;
    int count_cons = 0;
    int count_o = 0;
    string ch;
    cout << "Enter words (q to quit):\n";
    cin.ignore();
    getline(cin,ch);
    for(int i=0;ch[i] != 'q';i++) 
    {
    if ((i==0||ch[i-1]==' '))
    if (isalpha(ch[i]))
         {
 switch (ch[i])
                 {
                        case 'a' :
                        case 'A' : 
                        case 'e' :
                        case 'E' : 
                        case 'i' :
                        case 'I' : 
                        case 'o' :
                        case 'O' :
                        case 'u' :
                        case 'U' : count_vow++;
                                   break;
                        default : count_cons++;
                 }
         }
          else if(isdigit(ch[i]))  
               count_o++;
         
    }
    cout << count_vow << " words beginning with vowels\n"
         << count_cons << " words beginning with consonants\n"
         << count_o << " others.";
         return 0;
}
Но что-то не так, потому что не хватает одного подсчета. То в гласной на одну больше, то в согласной на одну меньше. А почему так, не могу понять=(
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.03.2017, 16:56
Ответы с готовыми решениями:

Читать слова по одному за раз, пока не будет введена буква q
Необходимо написать программу, которая читает слова по одному за раз, пока не будет введена буква...

Составить программу, которая просит вводить буквы до тех пор, пока не будет введена буква y или Y
На паре задали создать задачу: Составить программу, которая просит вводить буквы до тех пор, пока...

Написать программу, которая будет вводить с клавиатуры положительные числа до тех пор, пока не будет введена -1.
Всем привет! Прошу помочь выполнить эти 2 задания в Python: 1) Билеты на общественный...

QT. Реализовать программу, которая будет хранить и распознавать слова на основе бинарного дерева
Интерфейс основного класса должен содержать методы для добавления и распознавание указанных слов....

2
Модератор
Эксперт CЭксперт С++
5284 / 2371 / 342
Регистрация: 20.02.2013
Сообщений: 5,770
Записей в блоге: 20
26.03.2017, 18:55 2
 Комментарий модератора 
Invictus208, пожалуйста, прочитайте правила форума.
Особое внимание обратите на следующие пункты:

.
0
2 / 2 / 0
Регистрация: 16.03.2017
Сообщений: 7
26.03.2017, 21:24  [ТС] 3
Хорошо! спасибо за совет!
0
26.03.2017, 21:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.03.2017, 21:24
Помогаю со студенческими работами здесь

Написать программу,которая находит все слова,в которых буква "а" встречается больше чем один раз.
Есть строка,которая состоит из слов,разделенных любым количеством промежутков.Написать...

Написать программу которая будет требовать пароль до тех пор пока он не будет введен верно
Написать программу которая будет требовать пароль до тех пор пока он не будет введен верно.


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru