Помощь - Поиск - Пользователи - Календарь
Полная версия: 2 задачки со строками
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Делфи
Valkirie
Ребят, помогите разобраться с задачками по строкам, недопонимаю я :p2:

1. Вводится строка. Вырезать из нее все подстроки, состоящие из 5 подряд идущих букв А и вставить в конец строки.

2. Дана подстрока и строка. Удалить из строки все вхождения заданной подстроки.
Вход
В первой строке входа дана подстрока, во второй - строка.
Выход
В первую строку выхода вывести строку, в которой удалены все вхождения подстроки.

Заранее спасибо ;)
volvo
Это первая ...

Код

const
 s :string = 'fggfbvh nbjhmkyhg aaaaa bnbkh aaaaa gngjh';

var
 i, p, count: integer;

begin
 count := 0;
 repeat
   p := Pos('aaaaa', s);
   if p > 0 then
     begin
       delete(s, p, 5); inc(count);
     end;
 until p = 0;

 for i := 1 to count do
   s := s + 'aaaaa';

 writeln( s );
end.
Valkirie
volvo
Спасибо огромное, только прога визуальная нужна, но это я уже сама докрапаю.
За идею спасибо ;)
volvo
А это вторая (по образу и подобию первой :D ):

Код

var
 s, subs: string;
 i, p, count: integer;

begin
 write( 'substr > ' ); readln(subs);
 write( 'string > ' ); readln(s);
 repeat
   p := Pos(subs, s);
   if p > 0 then
     delete(s, p, length(subs))
 until p = 0;

 writeln( s );
end.


P.S. Что значит "визуальная" ? blink.gif
Valkirie
Спасибо тебе ! Прям расцеловала бы.
Первую уже чуть-чуть изменила, всё работает как надо ;)
Вторую сейчас опробую.

Визульная - с формами, эдитами, лэйблами и прочим, такая типо красивая ;)
volvo
Так есть раздел Delphi ... Надо было туда обратиться ... ;)
Valkirie
=) Не знала, сорри, но с первой всё ок, я поправила...
А вот вторая правильных ответов не выдаёт...
т.е. например если на
Входе:
ab
abcabd
то на Выходе должно быть:
cd
А тут никак не получается...
volvo
Исправил ... Проверь сейчас :yes:
Valkirie
:p9: Work ! :p9:
Спасибо wub.gif ты гений ;)
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.