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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.11.2008, 20:52   #1
Григорийpnz
Пользователь
 
Регистрация: 18.11.2008
Сообщений: 12
По умолчанию Удалить из строки все группы букв вида abcd

Дана S-строка символов длиной n.Удалить из строки все группы букв вида abcd.Ребят если можно,напишите объяснение и пояснение решения...
Григорийpnz вне форума Ответить с цитированием
Старый 26.11.2008, 21:18   #2
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Идешь по строке с конца, чтобы не сбить нумерацию массива
for i:=length(s) downto 1 do
если встречаешь такое сочетание букв
if copy(s,i,4)='abcd'
то удаляешь его
then delete(s,i,4);
puporev вне форума Ответить с цитированием
Старый 26.11.2008, 21:23   #3
Григорийpnz
Пользователь
 
Регистрация: 18.11.2008
Сообщений: 12
По умолчанию

Напиши решение....Я не понимаю
Григорийpnz вне форума Ответить с цитированием
Старый 26.11.2008, 21:25   #4
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Цитата:
Напиши решение....Я не понимаю
Ну тогда оно тебе и не надо.
puporev вне форума Ответить с цитированием
Старый 27.11.2008, 00:45   #5
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
По умолчанию

Куда вставить догадаетесь:
Код:
 s := 'gfdgabcd dfgdfgdabcdfgdfgdf g'; // откуда удалить
 substr := 'abcd'; // что удалять
while pos(substr, s)>0 do
 delete(s, pos(substr, s), length(substr));
Alter вне форума Ответить с цитированием
Старый 27.11.2008, 12:48   #6
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Код:
uses crt;
var s:string;
    i:integer;

begin
clrscr;{очищаем экран}
Readln(s); {считываем строку}
repeat
i:=pos('abcd',s); {ищем начало вхождения строки abcd}
if i<>0 then delete(s,i,4); {вырезаем ее }
until i=0; {если ничего не нашли}
writeln(s);
end.
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удалить из строки все группы вида abcd Григорийpnz Паскаль, Turbo Pascal, PascalABC.NET 8 18.11.2008 19:40
дан текстовый массив из 200 букв. Выстроить в алфавитном порядке все строчные буквы Тина Помощь студентам 6 02.07.2008 22:53
Удвоить каждый из первых пяти цифровых символов и удалить 5 последних латинских букв gred Помощь студентам 5 16.05.2008 23:20
процедура, которая выводит все слова, начинающиеся с согласных букв латинского алфавита. sergeyfsd Паскаль, Turbo Pascal, PascalABC.NET 6 21.02.2008 22:29
Надо в RichEdit Удалить все строки между двумя пустыми Stas))) Компоненты Delphi 7 28.05.2007 16:49