Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Delphi > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 24.03.2020, 16:36   #1
ShonZelno
 
Регистрация: 27.01.2020
Сообщений: 4
Вопрос Как исправить, чтобы программа работала?

Что нужно: В заданной последовательности символов заменить каждую последовательность из одинаковых символов длиной более трех на (k)s, где s – повторяющийся символ, k- число повторений.

Можно использовать только самые базовые инструменты работы со строками delete, insert, concat и т.д.
Pascal ABC.NET
---------------------------------------
Код:
Const
NN=3;
Nmax=50;
var text:array[1..Nmax] of string;
i,j,k:word;
s,x:string;
 
procedure Up(var x:string);
var i:word;
begin
 for i:=1 to length(x) do
  x[i]:=upcase(x[i]);
end;
 
function ReplaceX(var x,s:string;var n,k:word):string;
var i,d,j,g:word;
begin
 Up(x);
 Up(s);
 while i<>length(x)-1 do
  begin
   i:=i+1;
   if x[i]=x[i+1]
    then
    begin
    d:=i;
    j:=i;
    while x[j]=x[j+1] do
      j:=j+1;
    if j-i>n 
     then 
      begin
      delete(x,d,d-j+1);
      for g:=1 to k do
      insert(s,x,d);
      i:=i+k-1;
      end;
    end;
  end;
 ReplaceX:=x;
end;
 
 
begin
 while not Eof do
  begin
   j:=j+1;
   readln(x);
   text[j]:=x;
  end;
  readln(s);
  readln(k);
 
 for i:=1 to j do
  writeln(ReplaceX(text[i],s,NN,k));
end.
ShonZelno вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нужна программа на си# и чтобы работала на протеусе Владимир_21 Фриланс 2 14.01.2017 03:09
Тестирование и отладка программного продукта. исправить ошибки, чтобы программа работала. Proskurina Паскаль, Turbo Pascal, PascalABC.NET 1 27.05.2012 18:22
Как сделать, чтобы программа работала сразу через 20 сайтов? tima777 Работа с сетью в Delphi 4 13.08.2011 20:48
Как сделать,чтобы программа работала при низком разрешение монитора? RomanDemidov Общие вопросы Delphi 5 13.12.2010 20:10
Как чтобы программа работала на другом компьютере Olaf C++ Builder 2 08.04.2010 12:09


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS