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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.12.2013, 11:16   #11
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Poma][a, а трим поставить, не судьба?
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 22.12.2013, 11:16   #12
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
и делай поиск по подстроке+пробел.
'привет. привет, Stilet'

Расстановка - верна! А вот 2-ой привет, я боюсь мы не найдем..
Тогда, я бы делал так
Код:
a[1..SIZE] = (' ', '.', ',', '!', '?', '...'); // что-то еще..

<получили слово>
for k := 1 to SIZE do
    s := Copy(s, 1, i-1)+StringReplace(Copy(s, i, Length(s)), ' '+word+a[i], a[i], rfReplaceAll, rfIgnoreCase ] );
Я не проверял!

Цитата:
Poma][a, а трим поставить, не судьба?
Зачем? Он уберет пробелы в начале и конце.. Да и убирать их не надо!
Poma][a вне форума Ответить с цитированием
Старый 22.12.2013, 11:25   #13
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
2-ой привет, я боюсь мы не найдем..
Да уж... Затык все равно будет. Тут другой подход нужен в корне.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.12.2013, 11:28   #14
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Да я тоже склонен в таком случае в четкой расстановке знаков между словами.
Или тогда добавь к исходной строке пробел и делай поиск по подстроке+пробел.
Но все равно я бы уделил внимание расстановке пробелов, если это не противоречит заданию.
Как правило, всегда противоречит, поэтому и нужно (недно) предпринимать "меры"
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 22.12.2013, 11:34   #15
Praud
Форумчанин
 
Аватар для Praud
 
Регистрация: 11.10.2012
Сообщений: 409
По умолчанию

Задание звучит так:

Дана строка, содержащая текст на русском языке. В предложении некоторые слова записаны подряд несколько раз. Заканчивается предложение символом "/". Получить в новой строке отредактированный текст, в котором удалены подряд идущие вхождения слов в предложениях.

На счет искусственных проверок на входе, даже не знаю...
Praud вне форума Ответить с цитированием
Старый 22.12.2013, 11:34   #16
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Код:
uses SysUtils;

const
	size = 5;
	a : array[1..size] of Char = (',', '.', ' ', '?', '!');
	
var
	s, wrd : string;
	i, j : Integer;
	
begin
	ReadLn(s);
	s := s + ' ';
	
	wrd := '';
	for i := 1 to Length(s) do begin
		if s[i] in [',', '.', ' ', '!', '?'] then begin
			for j := 1 to size do
				s := Copy(s, 1, i-1) + StringReplace(Copy(s, i, Length(s)), ' '+wrd+a[j], '', [rfReplaceAll, rfIgnoreCase]);
			wrd := ''
		end;
			wrd := wrd+s[i]
	end;
	
	WriteLn(s)		
end.
Предлагаю так..
Только что делать с 'привет. привет,Stilet'.. Что должно получиться?
Poma][a вне форума Ответить с цитированием
Старый 22.12.2013, 11:36   #17
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Блин! Ну вообще! Может лучше с начала полное задание публиковать?
При Вашем задании никаких проблем c физкульт-привет не будет!
Poma][a вне форума Ответить с цитированием
Старый 22.12.2013, 11:36   #18
Praud
Форумчанин
 
Аватар для Praud
 
Регистрация: 11.10.2012
Сообщений: 409
По умолчанию

По идеи "привет.привет,Stilet" и должно получится, ведь '.' - Разделитель в конце концов...
Praud вне форума Ответить с цитированием
Старый 22.12.2013, 11:46   #19
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от Poma][a Посмотреть сообщение
Блин! Ну вообще! Может лучше с начала полное задание публиковать?
При Вашем задании никаких проблем c физкульт-привет не будет!
А зачем? Так ведь интереснее и ТС и нам... .
Да и тема, вроде-как развивается...
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 22.12.2013, 11:55   #20
Praud
Форумчанин
 
Аватар для Praud
 
Регистрация: 11.10.2012
Сообщений: 409
По умолчанию

Извиняюсь
Блин, напишите код полностью на си, я не пойму Pascal или Delphi от Stilet.
Подкину на пивко.
Praud вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удалить из строки повторные вхождения слов Tim Grey Общие вопросы C/C++ 8 15.12.2012 14:56
Pascal ABC.Получить в новом файле отредактированный текст, в котором удалены повторные вхождения слов в предложения. powersej Паскаль, Turbo Pascal, PascalABC.NET 0 13.12.2012 21:07
Pascal ABC.Получить в новом файле отредактированный текст, в котором удалены повторные вхождения слов в предложения powersej Помощь студентам 0 13.12.2012 20:41
Дана последовательность слов разделенных пробелами, удалить из нее повторные вхождения слов.С++ Bullrock Помощь студентам 4 01.03.2012 13:16
С++. Файлы. Исключить из первого повторные вхождения Анастасия18 Помощь студентам 0 21.05.2011 18:16