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

Во введенном тексте найти слово, в котором доля гласных ("а", "е", "и") максимальна. c++

24.10.2022, 18:39. Показов 1138. Ответов 1

Студворк — интернет-сервис помощи студентам
Всем здравствуйте, вот код для задания: Во введенном тексте найти слово, в котором доля гласных ("а", "е", "и") максимальна.
Нельзя использовать string и вектора.
Не рекомендуется использовать динамические массивы.
Можно использовать char и getline.
Программирую очень слабо поэтому и обратился на данный форум, прислушаюсь к каждому совету.
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
#include <iostream>
using namespace std;
int main() {
    setlocale(LC_ALL, "Russian");
    system("chcp 1251");
    char a[100];
    cin.getline(a, 100, '\n');
    
    int j = 0; char max_word[35]; int max = 0; char word[35];
    for (int i = 0; i < size(a); ++i) {
        for (int k = 0; k < 35; ++k) {
            if (a[i] = ' ') {
                if (j > max) {
                    max = j;
                    max_word = word;
                    j = 0;
                    word = ' ';
                }
            }
            if (a[i] == 'а' & a[i] == 'е' & a[i] == 'и') {
                j = j + 1;
                word[k] = a[i];
            }
            if (a[i] != 'а' & a[i] != 'е' & a[i] != 'и') {
                word[k] = a[i];
            }
        }
        cout << a[i];
    }
    return 0;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.10.2022, 18:39
Ответы с готовыми решениями:

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

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

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

1
 Аватар для Tanya2007
593 / 230 / 72
Регистрация: 13.05.2020
Сообщений: 412
24.10.2022, 21:52
Этот код выводит только одно слово с максимальным количеством гласных "а, е, и". Если в тексте встретиться несколько слов с одинаковым максимальным количеством гласных, будет выведено только первое из них.

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
#include <iostream>
#include <Windows.h>
 
int main()
{
    setlocale(LC_ALL, "Russian");       //подключаем вывод и ввод русских символов в консоль
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    
    char mass[200];                     //строка для ввода
    char world_vowels[100];             //слово с максимальным количеством гласных      
    int letters = 0;                    //количество букв в слове
    int vowels = 0;                     //количество гласных букв а, е, и
    int max_vowels = 0;                 //максимальное количество букв а, е, и встретившееся в слове
    
    std::cin.getline(mass, 199);        //считываем строку с консоли либо максимальным количеством 199 символов, или до нажатия Enter
    mass[strlen(mass)] = '\n';          //вставляем символ новой строки, чтобы корректно обработать последнее 
                                        //слово в цикле for (без костылей), т.к. getline - не заносит в массив '\n'
    world_vowels[0] = '\0';             //по нулевому индексу в массиве слова с максимальным количеством гласных записываем нуль-символ
                                        //на случай, если не будет ни одного слова с гласными а, е, и
    
    for (int i = 0; i < strlen(mass); i++)          //обходим строку посимвольно
    {                   //strlen возвращает количество символов в строке, не считая нуль-символ
        if (mass[i] == ' ' || mass[i] == '\n')      //если символ равен пробелу или концу строки
        {               
            if(vowels > max_vowels)                 //проверяем количество гласных в текущем слове
            {                                       //если больше, чем в последнем максимальном
                for (int j = 0; j < letters; j++)   //то заносим текущее слово в массив слова с максимальным количеством гласных
                {
                    world_vowels[j] = mass[i - letters + j];    //рассчитывая с какого индекса текущей строки считываем наше слово
                }
                world_vowels[letters] = '\0';       //последним символом слова с максимальным количеством гласных вставляем нуль-символ
                max_vowels = vowels;                //записываем максимальное количество гласных букв, встретившееся в слове
            }
            letters = 0;                            //обнуляем счетчик букв в слове
            vowels = 0;                             //обнуляем счетчик гласных букв в слове
        }
        else                                        //если символ не равен пробелу или концу строки
        {
            letters++;                              //засчитываем его как букву слова, увеличиваем счетчик
            if (mass[i] == 'а' || mass[i] == 'е' || mass[i] == 'и')//сравниваем его с гласными а, е, или и
            {
                vowels++;                           //если это наша гласная, увеличиваем счетчик гласных букв в слове
            }
        }
    }
    
    std::cout << "\nМаксимальное количество гласных а, е, и: " << max_vowels << "\n";               //выводим максимальное количество гласных в слове
    std::cout << "\nСлово с максимальным количеством гласных а, е, и: " << world_vowels << "\n"; //выводим само слово
    
    system("pause");                                //задерживаем консоль, чтобы программа сразу не закрывалась
    return 0;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.10.2022, 21:52
Помогаю со студенческими работами здесь

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

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

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

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

Найти в текстовом файле слово, доля гласных в котором максимальна
Помогите написать программу: Найти в текстовом файле слово, доля гласных в котором максимальна.


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
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-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru