Помогите описать алгоритм!!!uses crt;var s, sn, sg: string;i:...

0 голосов
75 просмотров

Помогите описать алгоритм!!!
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.


Информатика (16 баллов) | 75 просмотров
Дано ответов: 2
0 голосов

А что тут особо описывать? Считывается строка, потом в ней делается корявая попытка заменить найденную точку троеточием. Поскольку при такой замене появляются две добавочные точки, под замену попадает вторая из вставленных точек и заменяется еще на две... строка постоянно растет на две точки, они множатся... а цикл идет до первоначальной длины строки.
Результат - после первой точки в строку вставляются точки в количестве, равном количеству символов, считая от позиции этой точки до конца строки в её первоначальном виде. Остальные символы из первичного вида строки останутся неизменными, следуя за полученным набором точек.

(142k баллов)
0

net tam takogo. tam sozdaetsja novaja stroka

0 голосов

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.

Вводим строку. Пробегаем по всей ее длине и каждый символ по очереди записываем в новуйу строку, если же встречаем точку, то записываем вместо нее троеточие
Короче - заменяем все точки строки на троеточия


(53.1k баллов)