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

Вывести слова, содержащие гласных букв больше, чем согласных

02.04.2015, 20:53. Показов 5420. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
вывести слова, содержащие гласных букв больше, чем согласных
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.04.2015, 20:53
Ответы с готовыми решениями:

Определить слова, в которых больше гласных букв, чем согласных
В программировании пока не силен. Не могу решить 3 интересных задачки. Нужна помощь. 1) В предложении, вводимом пользователем с...

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

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

8
0 / 0 / 0
Регистрация: 08.02.2015
Сообщений: 25
16.04.2015, 20:06  [ТС]
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
#pragma hdrstop
#pragma argsused
 
#include <tchar.h>
#include <stdio.h>
#include <iostream.h>
#include <ctype.h>
 
int main()
{
int i,n,j,k;
char *sg="bcdfgjklmnprstvvwxz",
*gl="aeiouy";
cout<<"Vvedy kol-vo simvolov: "<<endl;
cin>>n;
char *s= new char[n];
cout<<"Vvedy stroky: "<<endl;
cin>>s;
for (i = 0; i < n; i++){
for (j = 0; j < i; j++)
if (s[i]==sg[j])
for(k=0;k<n;k++)
if(s[i+1]==gl[k]);
}
if (gl>sg)
cout<<"Glasnblx bolshe "<<endl;
else cout<<"Soglasnblx bolshe";
system("pause");
return 0;
}
Добавлено через 20 секунд
как сравнить элементы?
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
16.04.2015, 20:09
Vlad12, Вы, видимо, задание не поняли. Нужно вывести слова, в которых гласных больше чем согласных. А, так Вы сами себе отвечаете, извиняюсь.
0
0 / 0 / 0
Регистрация: 08.02.2015
Сообщений: 25
16.04.2015, 20:13  [ТС]
что то я совсем запутался)
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
16.04.2015, 20:15
Vlad12, Вам нужно введенную строку разбить на слова (strtok), а в каждом из них уже подсчитывать кол-во гласных и согласных, если подходит по условию, то выводите слово.
1
0 / 0 / 0
Регистрация: 08.02.2015
Сообщений: 25
16.04.2015, 22:09  [ТС]
можете пожалуйста помочь с кодом программы?

Добавлено через 14 секунд
буду очень вам благодарен
0
36 / 36 / 27
Регистрация: 05.11.2013
Сообщений: 149
16.04.2015, 22:29
Работает только для букв английского алфавита
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
#include <iostream>
#include <string>
#include <cstring>
#include <cctype>
 
using namespace std;
 
bool isVovel(const char ch)
{
    static string vovelsArray = "aeiouAEIOU";
    for(size_t i = 0; i < vovelsArray.size(); i++)
    {
        if(ch == vovelsArray[i])
        {
            return true;
        }
    }
    return false;
}
 
bool printWord(const char *str)
{
    int vovelsCounter = 0;
    int consonantsCounter = 0;
    int size = strlen(str);
    for(int i = 0; i < size; i++)
    {
        if(isalpha(str[i]) && isVovel(str[i]))
        {
            vovelsCounter++;
        }
        else if(isalpha(str[i]) && !isVovel(str[i]))
        {
            consonantsCounter++;
        }
    }
    return (vovelsCounter > consonantsCounter);
}
 
int main()
{
    string str;
    cout << "Input few string:";
    getline(cin,str);
    char *charArray = new char[str.size() + 1];
    strcpy(charArray,str.c_str());
    char *p = strtok(charArray," ");
    while(p)
    {
        if(printWord(p))
        {
            cout << p << endl;
        }
        p = strtok(0," ");
    }
    delete charArray;
    return 0;
}
1
 Аватар для SerVal
37 / 36 / 9
Регистрация: 16.04.2015
Сообщений: 283
16.04.2015, 23:57
ну, как-то так:

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
#include <iostream>
#include <array>
 
int number_of_chars(string src, char chr)
{
    int counter = 0;
    for (int i = 0; i < src.length(); i++)
    {
        if (src[i] == chr) counter++;
    }
    return counter;
}
 
int main(int argc, char *argv[])
{
    setlocale(LC_CTYPE, "russian");
 
    string slovo = "aabbb";
    std::array<char, 3> glasnye = { 'a', 'o', 'e' };       // сюда все гласные
    std::array<char, 4> soglasnye = { 'b', 'c', 'd','f'};  // сюда все согласные
 
    int n_glasnyh = 0;
    int n_soglasnyh = 0;
 
    // считаем гласные
    for (int i = 0; i < glasnye.size(); i++)
    {
        n_glasnyh += number_of_chars(slovo, glasnye[i]);
    }
    // считаем согласные
    for (int i = 0; i < glasnye.size(); i++)
    {
        n_soglasnyh += number_of_chars(slovo, soglasnye[i]);
    }
    
    cout << "Слово           : " << slovo << endl;
    cout << "Число гласных   : " << n_glasnyh << endl;
    cout << "Число согласных : " << n_soglasnyh << endl;
 
}
Output:
Слово : aabbb
Число гласных : 2
Число согласных : 3
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
17.04.2015, 09:33
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <algorithm>
#include <cctype>
#include <iostream>
#include <iterator>
#include <sstream>
#include <string>
 
int main()
{
    std::string str;
    std::cout << "Enter string: ";
    std::getline(std::cin, str);
    std::istringstream ist(str);
    std::copy_if(std::istream_iterator<std::string>(ist), std::istream_iterator<std::string>(),
        std::ostream_iterator<std::string>(std::cout, "\n"), [](const std::string &word)
        {
            static const std::string vowels = "aeiouy";
            const size_t numVowels = std::count_if(word.begin(), word.end(), [](const char c)
                { return vowels.find(tolower(c)) != std::string::npos; });
            return word.length() - numVowels < numVowels;
        });
}
Добавлено через 2 минуты
Поправка - работает нормально только если слова состоят исключительно из букв (все не гласные считает согласными)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.04.2015, 09:33
Помогаю со студенческими работами здесь

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

Определить, есть ли в строке слова, в которых гласных больше чем согласных
Подскажите пожалуйста, что не так в коде: #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;string&gt; using namespace std; int...

В одной колонке вывести слова без гласных букв, а в другой слова содержащие цифру
Ввести строку. Поделить ее на слова. В одной колонке выводить слова без гласных букв, а в другой выводить слова которые содержат цифру. ...

Найти и вывести все слова, у которых число гласных букв превышает число согласных
Задание: Дан массив из n слов произвольной длины (длина слова не превышает 80 символов). Символами могут быть только заглавные...

Вывести каждое второе слова в котором больше 3 букв и меньше 3 гласных
Нужно вывести каждое второе слово в котором больше трех букв при этом меньше 3 гласных. Я написал прогу которая выводит каждое слово в...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru