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

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

Войти
Регистрация
Восстановить пароль
 
Just_2D
0 / 0 / 0
Регистрация: 08.03.2013
Сообщений: 22
#1

Удалить со строки слова - C++

17.03.2013, 11:26. Просмотров 401. Ответов 3
Метки нет (Все метки)

Всем доброго времени суток. Мне нужно удалить со строки все слова которые начинаются на гласную с помощью:
1) Строки как массива символов.
2) Строки как класса string.
Помогите пожалуйста.
Заранее спасибо.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.03.2013, 11:26
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Удалить со строки слова (C++):

Строки: вывести слова с наименьшим количеством букв; удалить слова, начинающиеся с маленькой буквы - C++
Здравствуйте. Помогите, пожалуйста сделать программу... Задание: Составить программу, которая выводит на экран слова с наименьшим...

Удалить из строки слова с нечетными номерами и перевернуть слова с четными номерами - C++
Распечатать введенную строку, удалив из нее слова с нечетными номерами и перевернув слова с четными номерами. Например, из строки 'холодный...

Удалить из строки одинаковые слова. - C++
Собственно, вот и само задание. Для заданного предложения необходимо найти и удалить одинаковые слова. Нужно на С. Поискал по форуму, но не...

Удалить последние слова из строки - C++
Всем добрый день! Перечитал про множество функций для работы со строками. Нашел что то похожее для своей задачи puts(&str); где &str...

Строки. Удалить слова наибольшей длины - C++
В строке удалить слова наибольшей длины. Оставшиеся слова записать через пробел. След-но пользователь должен сам вводить эти слова, а...

Удалить из строки все чётные слова - C++
нужно удалить с строки все чётные слова. Не могу написать...:cry:

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Afflicted
Обитатель форума
199 / 182 / 8
Регистрация: 28.10.2012
Сообщений: 543
17.03.2013, 14:13 #2
вариант один.

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
#include <iostream>
#include <string>
#include <ctype.h>
using namespace std;
 
int main()
{
    char txt[] = "Asddqw ops Dase ddd yds aqwq ubi";
    char glasn[] = "aeiouy";
    
    char * pch = strtok(txt, " ");
    
    while (pch != NULL)
    {
        bool isglasn = false;
        for (int i = 0; i < 6; ++i)
            if (tolower(pch[0]) == glasn[i])
                isglasn = true;
 
        if (!isglasn)
            cout << pch << " ";
        pch = strtok(NULL, " !,.");
    }
    
    cout << endl;
    system("pause");
}



Второй можно сделать точно так же, просто заменив
C++
1
char * pch = strtok(txt, " ");
на
C++
1
2
string txt2 = "Asddqw ops Dase ddd yds aqwq ubi";
char * pch = strtok(const_cast<char*>(txt2.c_str()), " ");
1
Just_2D
0 / 0 / 0
Регистрация: 08.03.2013
Сообщений: 22
17.03.2013, 14:36  [ТС] #3
А вы бы не могли прокоментировать код?
0
Afflicted
Обитатель форума
199 / 182 / 8
Регистрация: 28.10.2012
Сообщений: 543
17.03.2013, 17:12 #4
Пожалуйста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int main()
{
* * char txt[] = "Asddqw ops Dase ddd yds aqwq ubi"; // массив символов
* * char glasn[] = "aeiouy"; // массив букв
char * pch = strtok(txt, " "); // разделение строки на подстроку
while (pch != NULL)
* * {
* * * * bool isglasn = false; // булевая переменная для определения гласной
* * * * for (int i = 0; i < 6; ++i) // цикл по распознанию гласной
* * * * * * if (tolower(pch[0]) == glasn[i]) // если первый символ подстроки - гласная
* * * * * * * * isglasn = true; // присвоить истину
if (!isglasn) // если ложно
* * * * * * cout << pch << " "; // вывести подстроку
* * * * pch = strtok(NULL, " "); // обнулить
* * }
cout << endl;
* * system("pause");
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.03.2013, 17:12
Привет! Вот еще темы с ответами:

Удалить из строки всё повторяющиеся слова - C++
Нужно написать программу, чтобы найти все повторяющиеся слова в строке и удалить их, написал программу для определения слов вне зависимости...

Удалить из строки слова с четными номерами - C++
Помогите написать программу которая будет удалять из строки слова с четными номерами

Удалить из строки все однобуквенные слова - C++
не могу никак понять что вбить в if что бы программа работала #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; int...

Дана строка. Удалить из строки повторные слова. - C++
Дана строка. Группы символов, разделенные пробелами(одним или несколькими) и не содержащие пробелов внутри себя, будем называть словами....


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
17.03.2013, 17:12
Ответ Создать тему
Опции темы

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