Задать вопрос
3 февраля, 16:02

Помогите описать алгоритм!

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.

+4
Ответы (2)
  1. 3 февраля, 16:43
    0
    А что тут особо описывать? Считывается строка, потом в ней делается корявая попытка заменить найденную точку троеточием. Поскольку при такой замене появляются две добавочные точки, под замену попадает вторая из вставленных точек и заменяется еще на две ... строка постоянно растет на две точки, они множатся ... а цикл идет до первоначальной длины строки.

    Результат - после первой точки в строку вставляются точки в количестве, равном количеству символов, считая от позиции этой точки до конца строки в её первоначальном виде. Остальные символы из первичного вида строки останутся неизменными, следуя за полученным набором точек.
  2. 3 февраля, 17:54
    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.

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

    Короче - заменяем все точки строки на троеточия
Знаете ответ?
Сомневаетесь в ответе?
Найдите правильный ответ на вопрос ✅ «Помогите описать алгоритм! uses crt; var s, sn, sg: string; i: integer; begin write ('s=') ; readln (s) ; sn:=''; for i:=1 to length (s) do ...» по предмету 📘 Информатика, а если вы сомневаетесь в правильности ответов или ответ отсутствует, то попробуйте воспользоваться умным поиском на сайте и найти ответы на похожие вопросы.
Смотреть другие ответы
Похожие вопросы по информатике
Функция для определения позиции буквы в слове, не могу найти ошибку. var slovo : string; i : integer; function ups (var s : string; ch : char) : integer; var i, n : integer; begin for i:=1 to length (s) do if s[i]=ch then n:=i else n:=0; ups:=n; end;
Ответы (1)
Uses crt; var n, s, s1, s2, k:integer; begin writeln ('Введите число: ') ; readln (n) ; s:=0; s1:=0; s2:=0; while n>0 do begin inc (k) ; if k mod 2 = 0 then begin s:=s+n mod 10; n:=n div 10; end else begin s1:=s1+n mod 10; n:=n div 10; end;
Ответы (1)
Помогите перевести с Pascal на Python var s, s1:string; i:integer; begin readln (s) ; s1:=s; for i:=1 to length (s1) do begin if s1[i]='а' then s1[i]:='б' else if s1[i]='А' then s1[i]:='Б' else if s1[i]='б' then s1[i]:='а' else if s1[i]=
Ответы (1)
надо решать через Паскаль. составил две программы и обе со странным ответом. что не то? program qwe; uses crt; var x. s:integer; y:real; begin s:=0; for i: = - 2 to 27 do s:=s+x; y:=s/30 writeln ('srednee arifmeticheskoe=', y) ; readkey; end.
Ответы (1)
Укажите области видимости в программе: Program P; Var x: integer; Procedure P1; Var y: integer; Begin P2; End; Procedure P2; Var z: integer; Begin {Тело процедуры} End; Procedure P3; Var m: integer; Begin P1; End; Begin {Тело основной программы}P3;
Ответы (1)