Помогите описать алгоритм!!!uses crt;var s, sn, sg: string; i: integer;beginwrite('s=');readln(s); sn:='';for i:=1 to length(s) do if s[i]='.' then sn:=sn+'...' else sn:=sn+s[i];write('s=',sn);readkeyend.
Помогите описать алгоритм!!!
uses crt;
var s, sn, sg: string;
i: integer;
begin
write('s=');
readln(s); sn:='';
for i:=1 to length(s) do
if s[i]='.' then
sn:=sn+'...'
else sn:=sn+s[i];
write('s=',sn);
readkey
end.
Ответ(ы) на вопрос:
А что тут особо описывать? Считывается строка, потом в ней делается корявая попытка заменить найденную точку троеточием. Поскольку при такой замене появляются две добавочные точки, под замену попадает вторая из вставленных точек и заменяется еще на две... строка постоянно растет на две точки, они множатся... а цикл идет до первоначальной длины строки.
Результат - после первой точки в строку вставляются точки в количестве, равном количеству символов, считая от позиции этой точки до конца строки в её первоначальном виде. Остальные символы из первичного вида строки останутся неизменными, следуя за полученным набором точек.
uses crt;
var s, sn: string;
i: integer;
begin
write('s=');
readln(s);
sn := '';
for i := 1 to length(s) do
if s[i] = '.' then
sn := sn + '...'
else sn := sn + s[i];
write('s=', sn);
readkey;
end.
Вводим строку. Пробегаем по всей ее длине и каждый символ по очереди записываем в новуйу строку, если же встречаем точку, то записываем вместо нее троеточие
Короче - заменяем все точки строки на троеточия
Не нашли ответ?
Похожие вопросы