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

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

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

 
 Ответить  Открыть новую тему 
> удаление всех одинаковых символов из строки
18192123
сообщение 27.11.2006 15:48
Сообщение #1


Профи
****

Группа: Пользователи
Сообщений: 920
Пол: Женский
Реальное имя: Марина

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


Подскажите, как из строки, состоящей из слов, удалить все символы а,с (из стандартного можно использовать только length, ord, char)

в голову ничего дельного по поводу этой задаче мне не приходит...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 27.11.2006 16:49
Сообщение #2


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


самое простое решение: идем в цикле от 1 до длины строки по строке.
считали один символ. если он нам подходит - засунули во вторую строку. не подходит - просто читаем следующий.
один цикл, один условный оператор...


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
18192123
сообщение 27.11.2006 19:54
Сообщение #3


Профи
****

Группа: Пользователи
Сообщений: 920
Пол: Женский
Реальное имя: Марина

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


Цитата(мисс_граффити @ 27.11.2006 16:49) *

самое простое решение: идем в цикле от 1 до длины строки по строке.
считали один символ. если он нам подходит - засунули во вторую строку. не подходит - просто читаем следующий.
один цикл, один условный оператор...

СПАСИБО!!! biggrin.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 27.11.2006 20:16
Сообщение #4


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

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


зачем лишняя строка ?

i := 1;
while (i <= Length(s)) do
if s[i] in ['a', 'c'] then Delete(s, i, 1)
else
inc(i);



--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 27.11.2006 20:17
Сообщение #5


Гость






klem4, а в задании ясно сказано:
Цитата
(из стандартного можно использовать только length, ord, char)
 К началу страницы 
+ Ответить 
klem4
сообщение 27.11.2006 21:24
Сообщение #6


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

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


Упс, ну тогда можной свой delete сделать вот так например:

procedure _delete(var s: string; start, len: Integer);
var
i: Integer;
begin

if start <= 0 then exit;

if start + len > Length(s) then
len := Length(s) - start + 1;

for i := start to Length(s) - 1 do s[i] := s[i + len];

dec(s[0], len);

end;


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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