IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> строка(удаление повторяющихся символов)
faint
сообщение 18.05.2007 1:08
Сообщение #1





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


Здрасти. подскажите пожалуйса а то я забыл: имеется строка с числами
нужно по 4 числа сравнивать и удалить повторяющиеся
(т.е например 11112222111133332222 должно получиться 111122223333)
Подскжите как это записать??

Сообщение отредактировано: faint - 18.05.2007 1:08
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 8)
volvo
сообщение 18.05.2007 2:10
Сообщение #2


Гость






Проходом по строке от конца к началу:

var
  s: string;
  i: integer;

begin
  s := '11112222555511113333444422224444';
  i := length(s) - 3;
  while i > 0 do begin
    if pos(copy(s, i, 4), copy(s, 1, i - 1)) > 0 then delete(s, i, 4);
    dec(i, 4);
  end;
  writeln(s);
end.

 К началу страницы 
+ Ответить 
faint
сообщение 18.05.2007 7:41
Сообщение #3





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


volvo
спасибо!!!!!!
чёто твой метод как процедура токо запахал...
Теперь осталось самое малое как то выделить что это не строчка с числами(1111_2222_3333_ например)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ozzя
сообщение 18.05.2007 7:44
Сообщение #4


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


Проверять условие:
if s[i] in ['0'..'9'] then
// делаешь то, что тебе нужно
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
faint
сообщение 18.05.2007 7:55
Сообщение #5





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


Цитата(Ozzя @ 18.05.2007 10:44) *

Проверять условие:
if s[i] in ['0'..'9'] then
// делаешь то, что тебе нужно

НЕПОНИЛЬ МОЖНО по подробней

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ozzя
сообщение 18.05.2007 7:58
Сообщение #6


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


Тебе что нужно?
Проверить, имеются ли в строке не цифры?
Если имеются, то что нужно делать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
faint
сообщение 18.05.2007 8:02
Сообщение #7





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


Цитата(Ozzя @ 18.05.2007 10:58) *

Тебе что нужно?
Проверить, имеются ли в строке не цифры?
Если имеются, то что нужно делать?


например у меня имелась 11112222111133332222 получилась 111122223333 а теперь нада их както отделить например 1111_2222_3333

Сообщение отредактировано: faint - 18.05.2007 8:02
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ozzя
сообщение 18.05.2007 8:18
Сообщение #8


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


var
  s:string;
  j,i:integer;
begin
  s:='111122223333';
  j:=1;
  for i:=1 to length(s)-1 do
   if i mod 4 =0 then
     begin
       insert('_',s, i+j);
       inc(j);
    end;
  writeLn(s);
end.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
faint
сообщение 18.05.2007 8:32
Сообщение #9





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


СПАСИБО!!!! спасли (не люблю я эти строки блин...)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия 25.07.2025 11:09
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"