Помощь - Поиск - Пользователи - Календарь
Полная версия: замена цифры пробелом
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
18192123
Подскажите пожалуйста, как заменить цифру соответствующим ей количеством пробелов?
volvo
Вот так, например:
...
s := '1a2a3a4a';
s1 := '';

for i := 1 to length(s) do
if s[i] in ['0' .. '9'] then
for j := 1 to ord(s[i]) - ord('0') do s1 := s1 + ' '
else s1 := s1 + s[i];

writeln(s1);
...

18192123
Цитата(volvo @ 10.01.2007 19:59) *

...

for j := 1 to ord(s[i]) - ord('0') do s1 := s1 + ' '
...




А как понять эту строчку?
volvo
Тебе же надо заменить на соответствующее цифре количество пробелов? А в строке хранятся символы, а не численные представления цифр... Вот эта строка и вычисляет число по его символу: число "ноль" должно соответствовать символу "0", поэтому берем порядковый номер символа, представляющего число и отнимаем от него порядковый номер символа "0" - получаем само число...
18192123
Цитата(volvo @ 10.01.2007 20:18) *

Тебе же надо заменить на соответствующее цифре количество пробелов? А в строке хранятся символы, а не численные представления цифр... Вот эта строка и вычисляет число по его символу: число "ноль" должно соответствовать символу "0", поэтому берем порядковый номер символа, представляющего число и отнимаем от него порядковый номер символа "0" - получаем само число...

теперь ясно.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.