Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.01.2020, 11: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, 11:55   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 16,219
По умолчанию

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

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

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


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ввести указанное количество строк и выполнить задание AndrewFrog Паскаль, Turbo Pascal, PascalABC.NET 0 15.01.2020 21: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