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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.11.2012, 12:24   #1
Rikoshet
Пользователь
 
Регистрация: 08.10.2012
Сообщений: 11
По умолчанию код string

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

мой код работает не совсем правильно, помогите исправить...

Код:
uses crt;
var t1,t2:string;
mn: set of char;
i,kb:integer;
begin clrscr;
mn:=[' ',',','-','.',':',';'];
writeln('Vvedite text');
readln(t1);
t1:=t1+'.';
kb:=0;t2:='';
for i:=1 to length(t1) do 
if not(t1[i] in mn) then inc(kb)
else if kb>0 then
if t1[i-kb]=t1[i-1] then begin
t2:=t2+copy(t1,i-kb,kb)+'';
delete(t1,i-kb,kb);
kb:=0;
end;
writeln(t2);
readkey;
end.

Последний раз редактировалось Rikoshet; 18.11.2012 в 17:46.
Rikoshet вне форума Ответить с цитированием
Старый 19.11.2012, 15:54   #2
Rikoshet
Пользователь
 
Регистрация: 08.10.2012
Сообщений: 11
По умолчанию

Ребят, тут всего пара строчек, может поможет кто?
Rikoshet вне форума Ответить с цитированием
Старый 19.11.2012, 16:13   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

так пойдёт?

Код:
uses crt;
var t1, t2: string;
  mn: set of char;
  i, kb: integer;
begin clrscr;
  mn := [' ', ',', '-', '.', ':', ';'];

  writeln('Vvedite text');
{  readln(t1);}
  t1 := 'Baba ALLA lubit gruppu ABBA i zaniumatsa ushu tak kak lubit sport';

  t1 := t1 + '.';
  kb := 0; t2 := '';
  i := 0;
  while i<length(t1) do begin
    inc(i);
    if not (t1[i] in mn) then inc(kb)
    else begin
      if kb > 0 then
        if t1[i - kb] = t1[i - 1] then begin
          t2 := t2 + copy(t1, i - kb, kb) + ' ';
          delete(t1,i-kb,kb);
          dec(i,kb);
        end;
      kb := 0;
    end;
  end;
  writeLn('staray stroka: ',t1);
  writeln('novay stroka: ',t2);
  readkey;
end.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 19.11.2012, 16:39   #4
Rikoshet
Пользователь
 
Регистрация: 08.10.2012
Сообщений: 11
По умолчанию

Огромное спасибо! Вы опять меня выручили
Rikoshet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
String код. Vlad0n Помощь студентам 8 18.11.2012 15:46
string-char-wchar_t-char-string чето потерял magog7 Общие вопросы C/C++ 0 08.08.2011 20:21
Доп.код,обратный код,прямой код вычисления Lukas077 Помощь студентам 0 20.03.2011 12:07
String большого размера, более 255 String[255] bitSoft Общие вопросы Delphi 9 28.03.2010 19:45
Как получить адрес String строки или преобразовать String madboy4ik Общие вопросы по Java, Java SE, Kotlin 6 15.01.2010 11:57