Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
1 / 1 / 0
Регистрация: 25.10.2021
Сообщений: 87

Гласные слова в предложении

27.11.2021, 17:22. Показов 995. Ответов 14

Студворк — интернет-сервис помощи студентам
Помогите исправить программу так, чтобы, если слов с максимальным количеством гласных несколько, выводил все эти слова.
Заранее спасибо.
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 <string>
#include <cstdio>
using namespace std;
bool glasnoe(char a)
{
    if (a == 'A' || a == 'U' || a == 'E' || a == 'I' || a == 'O')
        return true;
    if (a == 'a' || a == 'u' || a == 'e' || a == 'i' || a == 'o')
        return true;
    return false;
}
bool newword(char a)
{
    if (a == ',' || a == '.' || a == '?' || a == '!' || a == ' ' || a == ':') return true;
    return false;
}
string words[100];
int cnt_glasnoe[100];
int main() {
    string str;
    int t = 0;
    getline(cin, str);
    for (int i = 0; i < str.length(); i++)
    {
        if (newword(str[i])) 
            t++; 
        else 
            words[t] += str[i];
        if (glasnoe(str[i])) 
            cnt_glasnoe[t]++;
    }
    int max = 0;
    int index = 0;
    for (int i = 0; i < str.length(); i++)
    {
        if (cnt_glasnoe[i] > max) {
            max = cnt_glasnoe[i];
            index = i;
        }
    }
        cout << words[index];
}
Добавлено через 3 минуты
Например, John and his wife are from Sydney, он должен вывести wife и are, а выводит только wife.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.11.2021, 17:22
Ответы с готовыми решениями:

В предложении S1 найти все слова, которые есть в предложении S2
Здравствуйте. Не как не могу доделать программу. #include &lt;iostream&gt; #include &lt;string.h&gt; using std::cout; using std::cin; int...

Найти слова строки, которые отличны от ее последнего слова, и в которых гласные/согласные чередуются
Дана строка. Напечатать те слова этой строки, которые отличны от последнего слова и выполнено свойство: в слове гласные буквы (a, e, i, о,...

Найти в предложении все слова, в которых встречаются первые три символа последнего слова предложения
&quot;Найти в предложении все слова, в которых встречаются первые три символа последнего слова предложения.&quot; Никак не могу понять, как...

14
Злостный нарушитель
 Аватар для Verevkin
10242 / 5670 / 1260
Регистрация: 12.03.2015
Сообщений: 26,265
27.11.2021, 17:47
Интересно, а буква "Y" когда перестала быть гласной?
0
1 / 1 / 0
Регистрация: 25.10.2021
Сообщений: 87
27.11.2021, 17:51  [ТС]
Verevkin, в задании сказано только про эти буквы: a, e, i, o, u.
0
Злостный нарушитель
 Аватар для Verevkin
10242 / 5670 / 1260
Регистрация: 12.03.2015
Сообщений: 26,265
27.11.2021, 17:55
Цитата Сообщение от kuzhimoshi Посмотреть сообщение
в задании сказано только про эти буквы: a, e, i, o, u.
Это понятно. Но тем не менее!
0
1 / 1 / 0
Регистрация: 25.10.2021
Сообщений: 87
29.11.2021, 19:49  [ТС]
я понял, что никто не поможет.
0
29.11.2021, 19:53

Не по теме:

kuzhimoshi, напишите оригинал условия задачи

0
1 / 1 / 0
Регистрация: 25.10.2021
Сообщений: 87
29.11.2021, 20:13  [ТС]
Yetty,Вывести на экран все слова, содержащие наибольшее количество гласных латинских букв ( a, e, i, u, o).
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
29.11.2021, 20:42
kuzhimoshi, полное условие напишите - что на входе: текст, предложение, строка, массив символов или слова
0
1 / 1 / 0
Регистрация: 25.10.2021
Сообщений: 87
29.11.2021, 20:47  [ТС]
Yetty, можно использовать как массив символов, так и строки
0
Злостный нарушитель
 Аватар для Verevkin
10242 / 5670 / 1260
Регистрация: 12.03.2015
Сообщений: 26,265
29.11.2021, 20:59
Цитата Сообщение от kuzhimoshi Посмотреть сообщение
я понял, что никто не поможет.
Задача неинтересная и криво сформулирована.
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
29.11.2021, 21:07
на входе строка слова в которой разделены пробелами
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>
#include <sstream> 
using namespace std;
 
int main()
{        
    string s, word, g="aeiouAEIOU";
    cout << "String:\n";
    getline(cin, s);
    
    stringstream in(s);
    int i, count, max=0;
    while (in >> word)
    {
        i=count=0;
        while(word[i])
        {
            if(g.find(word[i])!=string::npos) count++;
            i++;
        }
        if(count>max) max=count;              
    }  
    
    in.clear();
    in.seekg(0);
    
    while (in >> word)
    {
        i=count=0;
        while(word[i])
        {
            if(g.find(word[i])!=string::npos) count++;
            i++;
        }
        if(count==max) cout << word << "\n";              
    }  
  
system("pause");
return 0;
}
0
1 / 1 / 0
Регистрация: 25.10.2021
Сообщений: 87
01.12.2021, 19:45  [ТС]
Yetty, а если у нас текст состоит из нескольких строк, например:
i am going to school
and eren went with me
она проверит только первую строку, как сделать так чтобы она все строки проверила?
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
01.12.2021, 19:54
kuzhimoshi, возвращаемся к моему первоначальному вопросу. что на входе ?

напишите оригинал условия задачи
0
1 / 1 / 0
Регистрация: 25.10.2021
Сообщений: 87
01.12.2021, 19:58  [ТС]
Yetty, Решить задачу на обработку текста, используя функции работы со строками. Всюду ниже, если это не оговорено особо, предполагается, что исходным является текстовый файл. В текст могут входить слова из латинских букв, цифры, знаки арифметических операций, точка, запятая, пробел. Требуется считать текст из файла, вывести его на экран, после решения задачи вывести на экран результат.
Вывести на экран все слова, содержащие наибольшее количество гласных латинских букв ( a, e, i, u, o).
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
01.12.2021, 20:46
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
59
#include <iostream>
#include <string>
#include <fstream>
#include <sstream>
#include <cctype>
using namespace std;
 
int main()
{    
    ifstream in("input.txt");
   
    if (in.is_open())
    {
        string s, word, g="aeiouAEIOU";
        
        getline ( in, s, '\0' );
        
        cout << s << "\n";
        
        size_t k=0;
        while(s[k])
        {
            if(isdigit(s[k]) || ispunct(s[k]) || s[k]=='+' || s[k]=='-' || s[k]=='*'|| s[k]=='/') s[k]=' ';
            k++;
        }
    
        stringstream ss(s);
        int i, count, max=0;
        while (ss >> word)
        {
            i=count=0;
            while(word[i])
            {
                if(g.find(word[i])!=string::npos) count++;
                i++;
            }
            if(count>max) max=count;              
        }  
    
        ss.clear();
        ss.seekg(0);
    
        while (ss >> word)
        {
            i=count=0;
            while(word[i])
            {
                if(g.find(word[i])!=string::npos) count++;
                i++;
            }
            if(max && count==max) cout << word << "\n";              
        } 
    in.close();
    } 
    else cout << "Unable to open file\n";    
  
system("pause");
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.12.2021, 20:46
Помогаю со студенческими работами здесь

существуют слова нужно заменить 3 гласные буквы и заменить их (целые слова) на знак *
Добро время суток вам.Можете помочь доделать задачку (Найти в тексте слова содержащие 3 гласные буквы и заменить их (целые слова) на знак...

Вывести слова гласные = согласные
Приветствую, прошу помощи в задании - Во введенном тексте указать слова, в котором количество гласных равно согласным. Текст вбивается...

Слова, начинающиеся и оканчивающиеся на гласные буквы
ээм))) Помогите решить....Надо очень срочно...((( я вообще не очень понимаю это все..(....а надо(...... задание Написать...

Убрать из введенного слова все гласные
#include &lt;iostream&gt; #include &lt;vector&gt; #include &lt;iterator&gt; using namespace std; int main() { vector &lt;char&gt; word(100); ...

Удалить слова начинающиеся на гласные буквы
Дописать задачу! Работа с типом char. (если не трудно, написать то же самое ( в) вариант, только с использованием библиотеки string) ...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru