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

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

06.05.2016, 15:57. Показов 1263. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!
У меня есть программа, которая выводит в консоль слова, в которой есть гласные буквы. Но не устраивает, что в ней много используется встроенных функций. Как можно реализовать без них? Подскажите пожалуйста.
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
 Lab_11.cpp определяет точку входа для консольного приложения.
 
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <string.h>
 
bool isAlt(char pstr);
void Function(charstr);
int main()
{
    char str[255];//Максимальная длина строки
    gets_s(str);//Считываем строку разделенную пробелом
    Function(str);
    system("pause");
    return 0;
}
void Function(char str) {
    char word = strtok(str,  ",.-"); Достаем из массива символов первое слово
    while (word) пока есть лексемы
    {
        if (isAlt(word))Выводит текущее слово, если isAlternate true
            std::cout <<word<<"\n";
        word = strtok(NULL,  ",.-");Переводим указатель в начало оставшейся строки
    }
    delete[] word;//Очищем память
}
bool isAlt(char pstr) {
    const char CChars[] = "aeiouy";
    bool isAlternate = (pstr != '\n');
    bool previos = strchr(CChars, pstr);
    bool current;
    for (++pstr; isAlternate && (pstr != 'n'); ++pstr)
    {
        current = strchr(CChars, pstr);
        isAlternate = (current != previos);
        previos = current;
    }
 
    return isAlternate;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.05.2016, 15:57
Ответы с готовыми решениями:

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

Написание своих функций chr() и ord(), без использования встроенных функций
В общем, нужно написать эти две функции, которые будут являться аналогами встроенных. ex_chr(code : byte) : char; begin .... ...

Программирование без использования встроенных функций matlaba
Доброго времени суток. Помогите пожалуйста с написанием 2 простых программ. 1) Необходимо построить любую полосовую...

4
 Аватар для HighPredator
6045 / 2160 / 753
Регистрация: 10.12.2010
Сообщений: 6,005
Записей в блоге: 3
06.05.2016, 16:16
Можно их реализовать самостоятельно. Вот как здесь: Сортировка строки без библиотечных строковых функций
0
 Аватар для Fixer_84
1505 / 969 / 812
Регистрация: 30.04.2016
Сообщений: 3,337
06.05.2016, 16:50
Ascold, ниже код программы. Слова разделяются одиночными пробелами и любыми знаками (знаками пунктуации), отличными от латинских букв.

Добавлено через 1 минуту
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
#include <iostream>
#include <cmath>
 
using namespace std;
 
bool Vowel(string b)
{
for (int i = 0; b[i]; i++)
{
if ((b[i] == 'A') ||
    (b[i] == 'O') ||
    (b[i] == 'U') ||
    (b[i] == 'E') ||
    (b[i] == 'I') ||
    (b[i] == 'Y') ||
    (b[i] == 'a') ||
    (b[i] == 'o') ||
    (b[i] == 'u') ||
    (b[i] == 'e') ||
    (b[i] == 'i') ||
    (b[i] == 'y'))
return true;
}
}
 
int main()
{
int max, k;
string a, b, c;
cout << "Введите текст [ENG]:" << endl;
getline(cin, a);
a = a + ' ';
k = 0;
for (int i = 0; i < a.length(); i++)
{
k++;
if (isalpha(a[i])) b += a[i];
if (a[i] == ' ') 
{
k--;
if (Vowel(b)) cout << b << endl;
k = 0;
b = "";
}
}
system("pause");
return 0;  
}
0
 Аватар для HighPredator
6045 / 2160 / 753
Регистрация: 10.12.2010
Сообщений: 6,005
Записей в блоге: 3
06.05.2016, 17:07
Крайне дурной код. Мало того, что в функции Vowel цикл не ах как сделан, так и еще не определено, что возвращает функция, если вообще гласных нет.
0
 Аватар для Fixer_84
1505 / 969 / 812
Регистрация: 30.04.2016
Сообщений: 3,337
06.05.2016, 17:19
Ascold, прошу прощения. Переменные max и c не нужны. Осталось от прошлой программы...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.05.2016, 17:19
Помогаю со студенческими работами здесь

Транспонировать матрицу без использования встроенных функций (')
По заданию необходимо транспонировать матрицу m x n без использования встроенной функции апостроф ('). Помогите пожалуйста!

Скалярное произведение векторов без использования встроенных функций
Добрый день!прошу помочь решить задачу: Вводим два вектора(списка) одинаковой длины. Найти скалярное произведение векторов...

Как заменить действиями без использования встроенных функций?
Подчёркнутое нужно заменить действиями без использования фун-ий Matlaba/// Амплитудный и фазовый спектр...Заранее спасибо

Заменить в непустой строке сочитание 'one' на 'four' (без использования встроенных функций)
Пользоваться встроенными функциями для работы со строками нельзя. Задача Заменить в непустой строке сочитание 'one' на 'four'.

Алгоритм сортировки массива по возрастанию, без использования встроенных функций языка
Напишите алгоритм сортировки массива по возрастанию, без использования встроенных функций языка, без использования дополнительного массива


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+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