Программа для замены всех точек на многоточия

Так же ищут: заменить все точки, блок-схема, паскаль


Задача:
Дана строка символов. Преобразовать строку, заменив в ней каждую точку многоточием (т.е тремя точками).

Описание решения:
Для начала, естественно, считываем строку с клавиатуры. Далее в цикле while , пока счетчик меньше значения длины строки, делаем следующее:

Проверяем является ли текущий символ точкой

  1. Если не точка, то просто наращиваем счетчик
  2. Если точка, то нам нужно запомнить левую часть строки (lstr) вместе с точкой. Мы проходим циклом от 1 символа до номера текущего символа, каждый раз прибавляя к переменной левой части строки (lstr) символ. Затем получаем правую часть (rstr) строки вместе с точкой, для этого проходим в цикле от номера текущего элемента (точки) до длины строки, каждый раз прибавляя к rstr очередной символ. Теперь у нас есть левая часть строки с точкой в конце и правая часть строки с точкой в начале. Осталось заменить основную строку новой. Основная строка = левая часть + точка + правая часть. Далее нужно не просто нарастить счетчик, а передвинуть его на 3 элемента, чтобы не попасть на одну из вновь созданных точек.

Реализация на Turbo Pascal 7:

program z77;
var str:string;
    i:integer;
    j:integer;
    lstr, rstr: string;
begin
    write ('Vvedite stroku simvolov:');
    readln (str);
    i:=1;
    while i<=length (str) do
     begin
     if str[i]='.'then
      begin
           lstr:='';
           for j:=1 to i do
               lstr:=lstr+str[j];
           rstr:='';
           for j:=i to length (str) do
               rstr:=rstr+str[j];
           str:=lstr+'.'+rstr;
           i:=i+3;
      end
      else i:=i+1;
     end;
     writeln (str);
     readln;
end.

Блок-схема:

Блок-схема замена всех точек на многоточия

Блок-схема замена всех точек на многоточия

Блок-схема сгенерирована автоматически программой  Артема Тишакова «BS 1.0″.

Метки:

Добавить комментарий

Вы должны авторизоваться для отправки комментария.