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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.10.2011, 00:34   #1
olegraperos
Пользователь
 
Регистрация: 16.10.2011
Сообщений: 15
По умолчанию Удаление подстроки

Исключить из введенного предложения все слова, содержащие заданную пользователем комбинацию из двух символов.
Немогу реализировать понимаю что нада строку переделать в масив слов но как искать и удалять????
Вот мой код
Код:
#include <iostream>
#include <conio.h>
#include <string.h>
using namespace std;
int main (void)
{
	const int n=100,k=3;
	char *text=new char[n],*smv=new char[k],s;
	int len,k,j;
	cout<<"vvedit ryadok textu:\n";
	cin.getline(text,n);
	cout<<"vvedit spolychennya z 2 sumvoliv=";
	cin.getline(smv,k);
    char *x[n] = {0};
    char *p = strtok(text, " ");
    int i = 0;
    while(p)
    {
        x[i++] = p; 
        p = strtok(NULL, " ");
    }
	for(j=0;i<j;j++)
 _getch();
}
olegraperos вне форума Ответить с цитированием
Старый 25.10.2011, 13:44   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию Элементарный автомат

Как вариант...

Выделим в задаче подзадачу: есть слово, которое кончается или пробелом, или '\0', и есть строка из двух символов. Вернуть 1, если строка в два символа есть в слове и 0 иначе.
(Завести курсор по слову и курсор по подстроке; для двух символов достаточно проверять, совпадает ли текущий символ в слове с текущим символом в подстроке, и если да, то сдвигать курсор в подстроке, а если нет - проверять совпадение символа в слове с первым символом в подстроке и ставить курсор в подстроке на первый или второй символ, в зависимости от результата; если кончилась подстрока - есть вхождение, а если раньше кончилось слово - вхождения нет.)
Вторая подзадача: есть строка предложения - нужно последовательно вывести слова, если они не содержат заданную подстроку в два символа и пропустить их (видимо, вместе со следующим за ними пробелом), если они эту подстроку содержат.
(Завести курсор по предложению, вызывать функцию, реализующую первую подзадачу и, последовательно перебирая символы, выводить или не выводить их на экран до первого не-пробельного символа после хотя бы одного пробельного; как дойдём до '\0' - всё, финиш.)
Третья подзадача: считать введённые пользователем предложение и строку в два символа.
(Уже решена.)
Abstraction вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
замена подстроки Alex_sim Общие вопросы по Java, Java SE, Kotlin 1 12.11.2010 12:43
Поиск подстроки int 20h Win Api 2 09.08.2010 20:37
выделение подстроки Rustamel Microsoft Office Excel 4 20.04.2010 05:06
Удаление подстроки (С) Айдар Помощь студентам 2 02.03.2010 08:22
строки и подстроки Work Group Помощь студентам 1 17.11.2009 15:02