Помощь - Поиск - Пользователи - Календарь
Полная версия: Замена четверок пробелов на звездочки
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Lotan
написать программу заменяющую 4 пробела на одну звездочку.

В общем-то код уже меняет 4 пробела на один пробел.

program UpCase;
uses crt;
var
st: string;
begin
write('введите строку: ');
readln(st);
while pos(' ', st) > 0 do delete(st, pos(' ', st), 1);
write('вывод: ', st);
readln
end.

нужно модернизировать код, чтобы он не только заменял 4 пробела на один, но и чтобы менял этот один пробел на звездочку.

М
Теги!! Правила Форума, п.5, и правила раздела Задачи, п.2
Исправлено.
Lapp

DarkWishmaster
мой вариант:

var s:string; i,count:byte;
begin
readln(s);
for i:=length(S) downto 1 do begin
if s[i]=' ' then inc(count) else count:=0;
if count=4 then
begin
count:=0;
delete(s,i,3);
s[i]:='*';
end;
end;
writelN(S);
readln;
end.


твой код тупо стирает пробелы как я понял
Lapp
Цитата(DarkWishmaster @ 27.05.2011 20:07) *
мой вариант:
Есть только одно совсем небольшое замечание.. Но оно скорее отностися к неточности условия (в приведенном виде). Из строки
'A     B'  // пять пробелов
твоя прога получит
'A *B'
. Вопрос: а не подразумевалось ли
'A* B'
- ?
Я просто хочу обратить внимание на то, что не всегда "задний проход" )) дает тот же результат, но проще smile.gif.
И еще: DarkWishMaster, не забывай инициализировать счетчик.

Цитата
твой код тупо стирает пробелы как я понял
Нет.

2 Lotan:
просьба называть темы в соответсвии с Правилами. "Модернизация кода" - звучит обалденно, но может означать все, что угодно.
Lotan

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