Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 1
Регистрация: 11.10.2014
Сообщений: 115
1

Во введенном тексте указать слово, в котором доля гласных (а, е, о) максимальна

11.10.2015, 05:40. Показов 896. Ответов 1
Метки нет (Все метки)

Во введенном тексте указать слово, в котором доля гласных (а, е, о) максимальна.
Программа работает, но иногда выдает неправильно ответ. Ввод - fafafa fafafafa, вывод fafafa. А должно быть fafafafa
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
#include <ctype.h>
#include <stdio.h>
#include <string.h>
 
int main() {
    char input[256];
    const char* s = input;
    fgets(input, sizeof input / sizeof(char), stdin);
    //Пропускаем небуквенные символы в начале строки.
    while (*s && !isalpha(*s))
        s++;
    const char* result = s;
    double resultPart = .0;
    while (*s) {
        //Читаем слово.
        const char* wordStart = s;
        int vowelCount = 0, consonantCount = 0;
        while (*s && isalpha(*s)) {
            if (strchr("aeo", *s))
                vowelCount++;
            else
                consonantCount++;
            s++;
        }
        //Обновляем ответ.
        double part = (double)vowelCount / (vowelCount + consonantCount);
        if (part > resultPart) {
            resultPart = part;
            result = wordStart;
        }
        //Пропускаем небуквенные символы между словами.
        while (*s && !isalpha(*s))
            s++;
    }
    //Выводим найденное слово.
    while (*result && isalpha(*result))
        putchar(*result++);
    putchar('\n');
}
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.10.2015, 05:40
Ответы с готовыми решениями:

Во введенном тексте указать слово, в котором доля гласных (а, е, о) максимальна
Во введенном тексте указать слово, в котором доля гласных (а, е, о) максимальна.

Во введенном тексте найти слово, в котором доля гласных максимальна
Разработать программу, определяющую во введенном тексте на английском языке слово, в котором доля...

В данном предложении указать слово, в котором доля гласных (А, Е, I, О) максимальна
Помогите написать на с++ В данном предложении указать слово, в котором доля гласных (А, Е, I, О)...

В заданном предложении указать слово, в котором доля гласных максимальна
В заданном предложении указать слово, в котором доля гласных максимальна. Считать, что слова в...

1
6992 / 6030 / 2738
Регистрация: 14.04.2014
Сообщений: 25,792
11.10.2015, 08:53 2
Доля гласных в обоих словах одинакова: 0,5. А выводится то слово, которое найдено первым, т. к. условие в 27-й строке строгое.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.10.2015, 08:53

Указать слово, в котором доля гласных (А, Е, I, O) максимальна
В заданном предложении указать слово, в котором доля гласных (А, Е, I, O) максимальна.

Указать слово, в котором доля гласных максимальна
В заданном предложении указать слово,в котором доля гласных максимальная.

В предложении указать слово, в котором доля гласных максимальна
В заданнном предложении указать слово в котором доля гласных максимальна

В предложении указать слово, в котором доля гласных ‘a’, ‘е’, ‘и’ максимальна
В заданном предложении указать слово , в котором доля гласных ‘a’, ‘е’, ‘и’ максимальна.


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.