Помощь - Поиск - Пользователи - Календарь
Полная версия: Составление и отладка программ со строками.
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Slash
Помогите решить ! пожалуйста не думаю что для вас она составит большой труд! Зарание спасибо good.gif

Даны две строки: S1 и S2. Удалить из строки S1 все подстроки, совпадающие с S2. Если таких подстрок нет, то вывести S1 без изменений.

Делать нужно как сказал препод через pos(s2,s1)

З.Ы. не ругайте сильно если такая тема былa smile.gif
Tan
Организуй цикл в котором будет осуществлятся поиск подстроки через pos и удаление (delete) с этой позиции количество символов, равное Length(S2). Условие выхода из цыкла : pos(s2,s1) = 0, то есть вхождение не найдено.
Вот тебе черновик :
uses crt;
var S1,S2 : String;
a : byte;
begin
writeln ('Input main string');
readln (S1);
writeln ('Input substring');
readln (S2);
repeat
a := pos(s2,s1);
If a <> 0 then delete (s1,a,Length(S2));
until a = 0;
writeln ('Result main string : ');
writeln (S1);
readkey;
end.
Slash
спс
Tan
Хотя наверно лучше было бы использовать while, он по идее и быстрее и красиве уловие будет smile.gif
Slash
Цитата(Tan @ 20.05.2007 17:08) *

Хотя наверно лучше было бы использовать while, он по идее и быстрее и красиве уловие будет smile.gif

Если не сложно отпиши с с while smile.gif
Tan
Попробуй сам изменить (это очень просто), общий вид цикла : для 1 команды
while условие do
, для больше чем 1 команды
while условие do begin end
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.