Помогите описать алгоритм!!!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. Вводим строку. Пробегаем по всей ее длине и каждый символ по очереди записываем в новуйу строку, если же встречаем точку, то записываем вместо нее троеточие Короче - заменяем все точки строки на троеточия
Не нашли ответ?
Ответить на вопрос
Похожие вопросы