Помощь - Поиск - Пользователи - Календарь
Полная версия: удаление всех одинаковых символов из строки
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
18192123
Подскажите, как из строки, состоящей из слов, удалить все символы а,с (из стандартного можно использовать только length, ord, char)

в голову ничего дельного по поводу этой задаче мне не приходит...
мисс_граффити
самое простое решение: идем в цикле от 1 до длины строки по строке.
считали один символ. если он нам подходит - засунули во вторую строку. не подходит - просто читаем следующий.
один цикл, один условный оператор...
18192123
Цитата(мисс_граффити @ 27.11.2006 16:49) *

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

СПАСИБО!!! biggrin.gif
klem4
зачем лишняя строка ?

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

volvo
klem4, а в задании ясно сказано:
Цитата
(из стандартного можно использовать только length, ord, char)
klem4
Упс, ну тогда можной свой 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;
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.