0 / 0 / 0
Регистрация: 19.10.2014
Сообщений: 22
1

Найти слово, в котором доля гласных (a, e, i, o, u, y) максимальна

16.11.2014, 14:45. Показов 3945. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток!
Собственно начну с задания: Разработать программу, определяющую во введенном тексте на английском языке слово, в котором доля гласных (a, e, i, o, u, y) максимальна.

а вот примерный код (не работающий )

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 <string.h>
#include <conio.h>
 
void main()
{
char string[256];
char st[60];
char maxstr[60];
char *blank="";
double k=0.0;
strcpy(st,blank);
strcpy(maxstr,blank);
 
printf("Vvedite stroku:");
gets(string);
strcat(string," ");
 
for (int i=0;i < strlen(string);i++)
if (string[i] == ' ' && strlen(st) != 0)
{
int count = 0;
for (int j=0;j < strlen(st);j++)
if (st[j] == 'a' || st[j] == 'e' || st[j] == 'i' || st[j] == 'o' || st[j] == 'u' || st[j] == 'y')
{
count++;
}
 
double l = (double)count/strlen(st);
if (l > k)
{
k=l;
strcpy(maxstr,st);
}
strcpy(st,blank);
} else
if (string[i] != ' ')
{
char *ch;
strcpy(ch, string+i);
ch[1] = '\0';
strcat(st,ch);
}
printf("Slovo s maximalnim kol-vom glasnih: %s\n",maxstr);
getch();
}
Помогите разобраться где тут ошибка и что добавить для выполнения тех задания (я так понимаю доли = кол-во гласных/размер слова)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.11.2014, 14:45
Ответы с готовыми решениями:

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

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

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

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

6
RyanMarrero
16.11.2014, 15:00 2
Не в тему,но все-же зачем писать текст на транслите(Это когда вот так:"Privet"),воспользуйся этим:
C++
1
setlocale(0, "");
И тебе не придется писать на транслите,пиши сразу на русском.
P.S Работает в VS и в Dev-C++,в других не пробовал.
0 / 0 / 0
Регистрация: 19.10.2014
Сообщений: 22
16.11.2014, 15:03  [ТС] 3
я знаю о setlocale, просто я торопился. при оформлении исправлю
0
433 / 368 / 149
Регистрация: 06.08.2012
Сообщений: 961
16.11.2014, 15:28 4
MixaelMitre,
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
#include <algorithm>
#include <iostream>
#include <sstream>
#include <string>
 
int main()
{
    const std::string vowels = "aeiouy";
 
    std::string str;
    std::getline(std::cin, str);
 
    std::stringstream ss(str);
 
    std::string maxWord;
 
    int maxVowels = 0;
    int curVowels = 0;
 
    while (ss >> str)
    {
        curVowels = std::count_if(str.begin(), str.end(), [vowels](const char& c) {
            return (vowels.find(c) != std::string::npos);
        });
 
        if (curVowels > maxVowels) {
            maxVowels = curVowels;
            maxWord = str;
        }
    }
 
    std::cout << maxWord << std::endl;
 
    return 0;
}
3
320 / 270 / 128
Регистрация: 24.05.2012
Сообщений: 629
16.11.2014, 15:33 5
Лучший ответ Сообщение было отмечено MixaelMitre как решение

Решение

http://ideone.com/79sG9m

Добавлено через 1 минуту
Issues, требуется максимальная доля гласных, а не количество.
2
0 / 0 / 0
Регистрация: 19.10.2014
Сообщений: 22
16.11.2014, 16:00  [ТС] 6
Спасибо вам огромное!
0
8Observer8
16.11.2014, 16:02     Найти слово, в котором доля гласных (a, e, i, o, u, y) максимальна
  #7

Не по теме:

Цитата Сообщение от RyanMarrero Посмотреть сообщение
P.S Работает в VS и в Dev-C++,в других не пробовал
В Qt нужно по-другому, если это был бы Qt

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.11.2014, 16:02

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

Найти в тексте слово, в котором доля гласных одинакова с другим словом
Как переделать эту программу,чтобы она,если доля гласных в нескольких словах одинакова,выводила...

Определить слово, в котором доля согласных максимальна
Здравствуйте , помогите девушке разобраться в программе, или даже в написание программы на языке...

Строка: В заданном предложении указать слово, в котором доля букв ‘j’ максимальна.
Всем привет , очень нужна ваша помощь. Такая задачка : В заданном предложении указать слово, в...


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

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

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