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

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

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

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

Ответ
 
Опции темы
Старый 19.01.2020, 12:44   #1
AndrewFrog
 
Регистрация: 15.01.2020
Сообщений: 4
По умолчанию Ввести указанное количество строк и выполнить задание:

Ввести указанное количество строк и выполнить задание:
ввести три строки. Заменить все вхождения второй строки в первую на третью строку.
Не проверите на правильность составления и работы?
Код:
var s1,s2,s3:string;
    p:integer;
begin
writeln('Vvedite 1 stroku: ');
readln(s1);
writeln('Vvedite 2 stroku: ');
readln(s2);
writeln('Vvedite 3 stroku: ');
readln(s3);
repeat
p:=pos(s2,s1);
if p>0 then
 begin
  delete(s1,p,length(s2));
  insert(s3,s1,p);
 end;
until p=0;
write(s1);
readln;
end.
AndrewFrog вне форума Ответить с цитированием
Старый 19.01.2020, 12:55   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 14,662
По умолчанию

Не идеально. К примеру, что будет в таком случае:
s1 = 111222333444111
s2 = 111
s3 = 555111
Arigato вне форума Ответить с цитированием
Старый 20.01.2020, 15:21   #3
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 2,372
По умолчанию

Зациклится. Нужна копия исходной строки, искать в исходной, а изменять в копии. Или наоборот. Как-то так. И вынести за цикл вот это:
Код:
p:=pos(s2,s1);
Если это не сделает сам компилятор. На компилятор надейся - а товарища выручай. (С) из народа

Последний раз редактировалось digitalis; 20.01.2020 в 22:55.
digitalis вне форума Ответить с цитированием
Ответ

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

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ввести указанное количество строк и выполнить задание AndrewFrog Паскаль, Turbo Pascal, PascalABC.NET 0 15.01.2020 22:51
Сканирования строк. Зная количество строк и первый элемент, это количество символов с троке. dimon9 Общие вопросы C/C++ 8 02.11.2012 22:40
Ввести последовательность строк. Подсчитать количество совпадающих строк. на языке SHELL lj23lj Фриланс 1 30.03.2012 16:41
Как выполнить задание, На Assembler. aleksa22 Помощь студентам 0 16.10.2011 19:47
Выполнить действие в указанное время sergeiqwe PHP 3 06.05.2010 16:28


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