Другие языки программирования и технологии

Удалить из строки все цифры. Как решить эту задачу в паскале??

проверять строку посимвольно. Если не цифра, копировать в другую строку =)
Или если цифра - удалять:

for i:=length(s) downto 1 do
if s[ i ] in [ '0'..'9' ] then delete(s,i,1);
SD
Shoxrux Dj
60 656
Лучший ответ
Самый доходчивый (простой) способ такой:

var
Ch : Char;
Str : String;

begin

for Ch := '0' to '9' do { Для всец цифр от 0 до 9 }
while Pos(Ch, Srt) > 0 do { Пока позиция цифры в строке не нулевая }
Delete(Str, Pos(Ch, Str, 1); { Удалим символ из позиции }

end.

Не совсем оптимально, но вполне приемлемо.
Хотя, гораздо красивее было бы через доп. строку:

var
n : Byte;
Str, Tmp : String;

begin

Tmp := ''; { Временная строка вначале пуста }
for n := 1 to Length(Str) do { Пробегаемся по всем символам строки }
if Not(Str[n] in ['0'..'9']) then { Если текущий символ не цифра }
Tmp := Tmp + Str[n]; { Добавить символ к временной строке }
Str := Tmp; { Теперь строка без цифр }

end.
задать пустой массив.
строку представить как массив символов. в цикле пройтись по массиву и проверить является ли текущий элемент массива цифрой (например проверяя входит ли он в диапазон от 0 до 9). далее условие, если это цифра переходим к следующему элементу масива иначе записываем букву в пустой массив. на выходе два массива символов - исходный и полученный.
Максим Щелчков
Максим Щелчков
53 111
а какой паскаль интересует? Я - в агенте