Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.04.2012, 20:17   #1
vadiprog
Пользователь
 
Регистрация: 24.09.2011
Сообщений: 96
По умолчанию Удалить из строки слова.

Удалить из заданой строки все слова оканчивающиеся на гласную букву. Напишите пожалуйста! C++

Последний раз редактировалось vadiprog; 07.04.2012 в 20:21.
vadiprog вне форума Ответить с цитированием
Старый 07.04.2012, 22:14   #2
vadiprog
Пользователь
 
Регистрация: 24.09.2011
Сообщений: 96
По умолчанию

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


#include <iostream>
#include <string>
#include <iomanip>
#include <cstdlib>
using namespace std;

int main(){
char str[]="history of American people ";
int i,k;
i=k=0;
for(; i!=sizeof(str); i++){
if(str[i]=='a' && str[i+1]=='n'){
break;
}
}
if(str[i]=='a'){
for(;str[i]!=32 && i!=-1; i--);
k = i+1;
for(i++;str[i]!='\0' && str[i]!=32;i++);
//cout<<"str[i]="<<str[i]<<i<<"\n";
if(str[i]!='\0'){
for(;str[i]!='\0';i++,k++){
str[k]=str[i];
}
}str[k]='\0';

cout<<str<<"\n\n";
}
system("PAUSE");
return 0;
}
vadiprog вне форума Ответить с цитированием
Старый 08.04.2012, 02:55   #3
ultimatet41
Форумчанин
 
Аватар для ultimatet41
 
Регистрация: 08.04.2012
Сообщений: 104
По умолчанию

Писал для себя ради спортивного интереса.

Код:
#include <string>
#include <iostream>

int main()
{
    std::string current;
    std::string get;
    std::string symbols = "AaEeIiOoUuYy";
    std::getline(std::cin, current);

    int pos = 0;
    bool del = false;

    for (int i=0; i<current.size(); i++){

        if(current[i] == ' ' || current.size()-1 == i ){

            for (int a=0; a<symbols.size(); a++){

                if (current[i-1] == symbols[a]){

                    del = true;
                    break;
                }

            }

            if (!del){

                for (; pos<=i; pos++){
                    get +=current[pos];
                }
                pos= i;
            }
            else{

                pos = i;
                del = false;
            }


        }
    }
    std::cout << get;
    std::string waitStr;
    while(std::cin >> waitStr);
    return 0;
}

Последний раз редактировалось ultimatet41; 08.04.2012 в 04:14.
ultimatet41 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удалить строки при вхождении слова zver777 Помощь студентам 2 09.01.2010 15:55
СИ. Удалить слова, которые содержат все повторяющиеся буквы первого слова nick23 Помощь студентам 7 01.11.2009 14:47
Как удалить текст до слова, потом от слова ? littlecoder Общие вопросы Delphi 7 29.12.2008 00:57
Удалить из второй строки те слова, которые есть в первой строке innaa639 Паскаль, Turbo Pascal, PascalABC.NET 2 26.11.2008 15:43