Подскажите, как из строки, состоящей из слов, удалить все символы а,с (из стандартного можно использовать только length, ord, char)
в голову ничего дельного по поводу этой задаче мне не приходит...
мисс_граффити
27.11.2006 20:49
самое простое решение: идем в цикле от 1 до длины строки по строке. считали один символ. если он нам подходит - засунули во вторую строку. не подходит - просто читаем следующий. один цикл, один условный оператор...
18192123
27.11.2006 23:54
Цитата(мисс_граффити @ 27.11.2006 16:49)
самое простое решение: идем в цикле от 1 до длины строки по строке. считали один символ. если он нам подходит - засунули во вторую строку. не подходит - просто читаем следующий. один цикл, один условный оператор...
СПАСИБО!!!
klem4
28.11.2006 0:16
зачем лишняя строка ?
i := 1; while (i <= Length(s)) do if s[i] in ['a', 'c'] then Delete(s, i, 1) else inc(i);
volvo
28.11.2006 0:17
klem4, а в задании ясно сказано:
Цитата
(из стандартного можно использовать только length, ord, char)
klem4
28.11.2006 1:24
Упс, ну тогда можной свой 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;
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.