Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Строки, вывод строки 
:(
    Опции темы
Hyaline
Дата 28.5.2005, 17:54 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Уважаемые программисты, очень прошу вас помочь мне с выводом строки. Мне необходимо все слова, которые содержат заданную подстроку, заменить на «[censored]». Вот, я написала программку, но никак не соображу с выводом smile нужно ведь вывести строку вместе со всеми первоначальными разделителями, а я никак не пойму, куда они сохраняются, чтобы их вывести вместе с изменёнными словами...Помогите, пожалуйста!!

Вот программка:

Код

Program Labfour;
Uses crt; const
razd:set of char=['.',',',':',';','!','?',' ','''','"']; VAR
w,ss,s:string;
ns,i:integer;
Begin
Clrscr;
write('Vvedite stroku:');
readln(s);
write('Vvedite podstroku:');
readln(ss);
i:=1;
while i<=length(s) do
if S[i] in razd then
i:=i+1 else
begin
ns:=i;
while(i<=length(s)) and not(S[i] in razd) do
i:=i+1;
w:=copy(s,ns,i-ns);
if pos(ss,w)>0 then
w:='"[censored]"';
write(w);
end;
Readkey;
End.


Это сообщение отредактировал(а) Fedor - 28.5.2005, 18:47
  Вверх
Ciber SLasH
Дата 29.5.2005, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1813
Регистрация: 9.11.2004
Где: С.-Петербург

Репутация: нет
Всего: 67



Цитата
Мне необходимо все слова, которые содержат заданную подстроку, заменить на «[censored]»

Тогда зачем тебе множество разделителей ?
Если отвечать на см. цитату, то:
Код

const
  zamena = '[censored]';
var
  ST, zST, rST: String;
  i,ps: Integer;
begin
  Write('Введи строку: ');
  ReadLn(ST);
  Write('Введи заменяемый фрагмент: ');
  ReadLn(zST);
  ps := POS(zST, ST);
  if ps > 0 then
  begin
    rST := Copy(ST, 1, ps);
    rST := rST + zamena + Copy(ST, ps+Length(zamena), Length(ST));
    Write('Результат: ', rST)
  end
  else
    WriteLn('Заменяемый фрагмент - не найден !!')
end.

Писалось на коленке, т.ч. может содержать ошибки...
PM   Вверх
Guest
Дата 29.5.2005, 16:29 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Ну тут как бы полное условие такое, я наверное не правильно сделала, что сначала его не целиком выложила smile
Условие:
Разделитель — один из символов « ,.;:!?"'» (начиная с пробела и заканчивая апострофом). Буква — любой символ, отличный от разделителя. Слово — последовательность букв, ограниченная с каждой стороны разделителем или концом строки. Например, в строке «x9i23!слово, ,» два слова — «x9i23» и «слово».
Требуется произвести одно из следующих действий (при всех манипуляциях со словами разделители сохранять без изменений)
Задание: все слова, которые содержат заданную подстроку, заменить на «[censored]»

Вот, поэтому, я и решила, что все разделители необходимо сохранять, т.к. сама строка тоже ведь может их содержать...

  Вверх
Hyaline
Дата 29.5.2005, 18:32 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Всё, я поняла, надо через удаление делать! smile Спасибо, что навели на мысль!!!
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0425 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.