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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.11.2012, 11:29   #1
Heng
Форумчанин
 
Регистрация: 27.02.2012
Сообщений: 117
По умолчанию Удалить повторяющиеся символы

Нужно чтобы из строки удалялись только повторяющиеся символы
Например: wwwrwrwyyy
Оставлял :rwrw писал w(3) и y(3)
Код:
procedure TForm1.Button3Click(Sender: TObject);
var
s:string;
k,i,j,b:integer;
p:char;
begin
s:=Edit1.Text;
for i:=1 to length(s) do begin
k:=0;
 p:=s[i];
 b:=i;
 for j:=1 to length(s) do
 If p=s[j]  then  k:=k+1 else If s[j]<>p  then break;
 If k>1 then
 delete(s,b,k);
 label1.Caption:=s;
end;
end;
end.


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 11.11.2012 в 12:33.
Heng вне форума Ответить с цитированием
Старый 11.11.2012, 13:22   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
procedure TForm1.Button3Click(Sender: TObject);
var s:string;i:integer;
begin
 s:=Edit1.Text;
 for i:=2 to length(s) do  if s[i]<>s[i-1] then label1.Caption:=label1.Caption+s[i-1];
end;
Подходит?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.11.2012, 14:40   #3
Heng
Форумчанин
 
Регистрация: 27.02.2012
Сообщений: 117
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Код:
procedure TForm1.Button3Click(Sender: TObject);
var s:string;i:integer;
begin
 s:=Edit1.Text;
 for i:=2 to length(s) do  if s[i]<>s[i-1] then label1.Caption:=label1.Caption+s[i-1];
end;
Подходит?
wwweeeettttuu- изначальная строка
wet- вывело
Heng вне форума Ответить с цитированием
Старый 11.11.2012, 15:03   #4
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Код:
var
  s, s1, s2: string; i, j: integer;
begin
  s := Edit1.Text + #0;
  i := 1; j := 1;
  while i < length(s) do begin
    if s[i] = s[i+1] then
      inc(j)
    else begin
      if j < 2 then
        s1 := s1 + s[i]
      else
        s2 := s2 + s[i] + '(' + inttostr(j) + ') ';
      j := 1;
    end;
    inc(i)
  end;
  label1.Caption := s1 + ' ' + s2
end;
eoln вне форума Ответить с цитированием
Старый 11.11.2012, 18:04   #5
Heng
Форумчанин
 
Регистрация: 27.02.2012
Сообщений: 117
По умолчанию

Цитата:
Сообщение от eoln Посмотреть сообщение
Код:
var
  s, s1, s2: string; i, j: integer;
begin
  s := Edit1.Text + #0;
  i := 1; j := 1;
  while i < length(s) do begin
    if s[i] = s[i+1] then
      inc(j)
    else begin
      if j < 2 then
        s1 := s1 + s[i]
      else
        s2 := s2 + s[i] + '(' + inttostr(j) + ') ';
      j := 1;
    end;
    inc(i)
  end;
  label1.Caption := s1 + ' ' + s2
end;
Спасибо большое очень сильно помогли
Heng вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удалить повторяющиеся символы в строке FASM rolex123 Помощь студентам 0 17.05.2012 15:19
нужно удалить в MS Word повторяющиеся строки. donitz Microsoft Office Word 4 22.08.2011 21:57
удалить повторяющиеся слова в строке Андрей.12 Помощь студентам 0 15.12.2009 18:51
Ввести строку, вывести на экран символы, повторяющиеся в строке более 2 раз. bibl2008 Помощь студентам 4 01.03.2009 13:30
Удалить из Memo повторяющиеся строки Etar Компоненты Delphi 2 28.06.2007 18:34