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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.11.2010, 11:40   #1
nejimakc
Новичок
Джуниор
 
Регистрация: 03.11.2010
Сообщений: 1
По умолчанию работа с текстом

отредактировать заданное предложение, заменяя многоточие точкой. Предложение произвольное.
nejimakc вне форума Ответить с цитированием
Старый 09.11.2010, 12:04   #2
RomiKon
Форумчанин
 
Регистрация: 11.04.2010
Сообщений: 143
По умолчанию

function TextEdit(Text: String): String;
var
I, J, K: String;
begin
Result:='';
for I:=1 to Length(Text) do
begin
if Text[I] = '.' then
begin
Inc(J);
if J > 2 then
begin
Result:=Result+'.';
J:=0;
end;
end else
begin
for K:=0 to J-1 do
Result:=Result+'.';
J:=0;
Result:=Result+Text[I];
end;
end;
end;

Как так, проверить нет времени да сделать можно короче.
RomiKon вне форума Ответить с цитированием
Старый 09.11.2010, 12:14   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Предлагаю такое:
Код:
MODULE Предложение;
 IMPORT StdLog,Strings;
 PROCEDURE do*(Строка:ARRAY OF CHAR);
 VAR i,k,res:INTEGER;
  s:ARRAY(255) OF CHAR;
 BEGIN
  i:=0;
  WHILE Строка[i]#CHR(0) DO 
   s[i]:=Строка[i];
   INC(i);
  END;
  StdLog.Clear;
  StdLog.String(Строка);
  i:=0;
  WHILE i#-1 DO
   Strings.Find(s,'...',i,k);
   IF k#-1 THEN
    Strings.Replace(s,k,3,'.');
   END;
   i:=k;
  END;
  StdLog.String(s);
 END do;

END Предложение.
"Предложение.do('Привет... мир мой мир')";
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.11.2010, 12:39   #4
Niro
Форумчанин
 
Аватар для Niro
 
Регистрация: 23.09.2010
Сообщений: 682
По умолчанию

Хм, подразумевал ли автор что многоточие - это именно три точки?
под любое количество точек больше двух можно так
Код:
   readln(stroka);
   repeat
   i:=i+1;
   if (stroka[i]='.') and (stroka[i+1]='.') then begin
                                          delete(stroka,i,1);
                                          i:=i-1;
                                       end;
   until i=length(stroka);
   writeln(s);
А вообще автору надо быть повежливее
Проще всего признать свою ошибку.
Гораздо труднее еЁ осознать и исправить.
Niro вне форума Ответить с цитированием
Старый 09.11.2010, 13:22   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
это именно три точки?
Кто знает...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.11.2010, 17:37   #6
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Код:
while pos('..',s)<>0 do 
delete(s,pos('..',s),1)
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 09.11.2010, 17:37   #7
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Дубль ....Глюк
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с текстом!!! elf80 Microsoft Office Excel 2 24.09.2009 09:54
Работа с текстом. J0n1cK Помощь студентам 1 30.05.2009 15:19
Работа с текстом MSD Общие вопросы Delphi 28 05.05.2009 17:56
работа с текстом в си++ Sjava Помощь студентам 3 21.12.2008 11:54
Работа с текстом vinimixer Общие вопросы Delphi 0 07.11.2008 21:19