Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

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

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

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

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

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

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

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

Строка содержит произвольный русский текст. Проверить, каких букв в нем больше: гласных или согласных (Написано на Паскале, переделать под C++) C++
C++ Вывести слова без повторений,которые имеют больше гласных,чем согласных.
C++ Определить каких букв больше в строке: гласных или согласных и на сколько.
Определить количество гласных и согласных букв в тексте C++
Определить номер слова в котором больше всего гласных букв C++
Строка содержит произвольный русский текст. Проверить, каких букв в нем больше, гласных или согласных C++
C++ Определить, каких букв — гласных или согласных — больше в данном тексте
В строке найти слова, в которых гласных букв больше, чем согласных C++
Строки. Найти слова, в которых гласных букв больше, чем согласных C++
C++ Вывести слова, содержащие гласных букв больше, чем согласных
Определить, есть ли в строке слова, в которых гласных больше чем согласных C++
C++ Найти и вывести все слова, у которых число гласных букв превышает число согласных

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Керра
1276 / 444 / 45
Регистрация: 24.08.2011
Сообщений: 2,133
23.06.2014, 19:18     Определить слова, в которых больше гласных букв, чем согласных #2
1) Надо определить 2 константные строки - одна только с гласными, другая только с согласными. Можно только строчными.
Собственно, нахождение слова:
* Пропускаем все небуквы (функция isalpha(char) возвращает true, если символ является буквой);
* Текущее слово = "";
* Пока текущий символ является буквой, добавляем его в текущее слово и идем на следующий символ.
Затем проходим слово, и считаем, сколько в нем гласных и согласных букв. Функция tolower возвращает строчной вариант буквы, а с помощью функции strchr можно определить, есть ли этот символ в строках с гласными/согласными буквами.
Если гласных больше - выводим слово на экран. И так пока строка не закончится.
----------------------------------------------------------------------------
2) Ну... Ищем максимум и минимум, запоминая не только их значения, но и строку, в которой они содержатся
----------------------------------------------------------------------------
3) А тут вообще в чем именно вопрос?
Antond1995
0 / 0 / 0
Регистрация: 26.11.2013
Сообщений: 7
24.06.2014, 23:03  [ТС]     Определить слова, в которых больше гласных букв, чем согласных #3
Ура !!! Я решил 2 и 3 задачи ) А вот с первой не лады ( Напишите исходник пожалуйста
Керра
1276 / 444 / 45
Регистрация: 24.08.2011
Сообщений: 2,133
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;
}
Yandex
Объявления
25.06.2014, 06:33     Определить слова, в которых больше гласных букв, чем согласных
Ответ Создать тему
Опции темы

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