Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.92
Antond1995
0 / 0 / 0
Регистрация: 26.11.2013
Сообщений: 7
#1

Определить слова, в которых больше гласных букв, чем согласных - C++

23.06.2014, 17:40. Просмотров 2586. Ответов 3
Метки нет (Все метки)

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

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

2) Написать программу, выводящую на экран номера строк
элементов матрицы, содержащие максимальное и минимальное значения
элементов.

3) Вариант 5. Телефонная книга содержит следующую информацию об
абоненте: фамилия, имя, номер телефона. Реализовать программу, позволяющую
вводить с клавиатуры телефонную книгу, выводить на экран содержимое адресной
книги, осуществлять поиск записей по фамилии, номеру телефона.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.06.2014, 17:40
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Определить слова, в которых больше гласных букв, чем согласных (C++):

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

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

Определить, есть ли в строке слова, в которых гласных больше чем согласных
Подскажите пожалуйста, что не так в коде: #include <iostream> #include...

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

Определить слова, в которых содержится больше двух гласных букв русского алфавита
Добрый день!Нужно определить cлова, в которых содержится больше двух гласных...

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

3
MayaNash
1291 / 459 / 151
Регистрация: 24.08.2011
Сообщений: 2,245
23.06.2014, 19:18 #2
1) Надо определить 2 константные строки - одна только с гласными, другая только с согласными. Можно только строчными.
Собственно, нахождение слова:
* Пропускаем все небуквы (функция isalpha(char) возвращает true, если символ является буквой);
* Текущее слово = "";
* Пока текущий символ является буквой, добавляем его в текущее слово и идем на следующий символ.
Затем проходим слово, и считаем, сколько в нем гласных и согласных букв. Функция tolower возвращает строчной вариант буквы, а с помощью функции strchr можно определить, есть ли этот символ в строках с гласными/согласными буквами.
Если гласных больше - выводим слово на экран. И так пока строка не закончится.
----------------------------------------------------------------------------
2) Ну... Ищем максимум и минимум, запоминая не только их значения, но и строку, в которой они содержатся
----------------------------------------------------------------------------
3) А тут вообще в чем именно вопрос?
2
Antond1995
0 / 0 / 0
Регистрация: 26.11.2013
Сообщений: 7
24.06.2014, 23:03  [ТС] #3
Ура !!! Я решил 2 и 3 задачи ) А вот с первой не лады ( Напишите исходник пожалуйста
0
MayaNash
1291 / 459 / 151
Регистрация: 24.08.2011
Сообщений: 2,245
25.06.2014, 06:33 #4
Все ж вроде расписала

Добавлено через 27 минут
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
#include <iostream>
using std::cout;
using std::endl;
 
const char *glasnye = "eyuioa", *soglasnye = "qwrtpsdfghjklzxcvbnm";
 
inline char* SledSlovo(char *nachalo)
{
    return strtok(nachalo," .");
}
 
bool BolisheGlasnyh(const char *str)
{
    size_t len = strlen(str), kGlasnyh = 0, kSoglasnyh = 0;
    for (int i = 0; i < len; i++)
        if (strchr(glasnye,tolower(str[i])) != NULL)
            kGlasnyh++;
        else
            kSoglasnyh++;
    return kGlasnyh > kSoglasnyh;
}
 
void Vyvod_slov_gde_bolishe_glasnyh(char *str)
{
    char *slovo = SledSlovo(str);
    while (slovo != NULL)
    {
        if (BolisheGlasnyh(slovo))
            cout << slovo << " ";
        slovo = SledSlovo(NULL);
    };
    cout << endl;
}
 
int main()
{
    char predlojenie[256];
    cout << "Vvedite predlojenie: ";
    gets(predlojenie);
    cout << "Slova, v kotoryh glasnyh bukv bolishe, chem soglasnyh:\n";
    Vyvod_slov_gde_bolishe_glasnyh(predlojenie);
    system("pause");
    return 0;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.06.2014, 06:33
Привет! Вот еще темы с решениями:

Определить, каких букв — гласных или согласных — больше в данном тексте
Дан текст из цифр и строчных латинских букв, за которыми следует точка....

Определить каких букв больше в строке: гласных или согласных и на сколько.
1)Ввести строку А с клавиатуры состоящую из заглавных русских букв. Определить...

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

Определить номер слова в котором больше всего гласных букв
1. Определить номер слова в котором больше всего гласных букв 2. Найти самое...


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

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

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