|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Как из строки исключить группу символов?
Разработать программу, которая представляет исходную строку в обратном порядке и при этом удаляет в строке результата указанную группу символов.
Могу просто сделать чтобы строка читалась задом наперёд, но вот исключить группу символов не могу Код:
..... var S: string; C: char; BEGIN S:=Edit1.Text; N:=length(S); for i:= 1 to N div 2 do begin C:= S[i]; S[i]:= S[N-i+1]; S[N-i+1]:= C; Label4.Caption:=S; end; END. lmikle: пользуемся тегами! |
#2
|
|||
|
|||
Вообще как-то страно переворачиваешь строку. Ну да лана. Ну а в чем прабл. не пойму. Если мож так делать со строкой.
APPLICATION.TERMINATOR |
#3
|
||||
|
||||
Цитата:
Последний раз редактировалось Biatov, 05.03.2010 в 23:13. |
#4
|
|||
|
|||
Ну, в общем, правильно он ее переворачивает.
Идет до половины и меняет местами с соотв. с другой стороны. Вопрос про исключение - тебе надо исключить по символам, или подстроку? Т.е. пусть в edit2 у нас находится "ля". Тебе надо исключить из строки подстроку "ля" (без кавычек, ес-сно) или все символы "л" и "я". Принцип тут один - пользуем StringReplace на конечной строке, хотя для второго варианта можно и руками. |
#5
|
||||
|
||||
На вот держи рабочий код. Тут два эдита, в одном пишешь исходную строку, а во втором символы которые надо удалить из первого эдита, писать без разделителя. Код простенький, думаю ты и сам разберёшься что за что отвечает.
Код:
procedure TForm1.Button1Click(Sender: TObject); var s,t: string; i: integer; c: char; begin t:=Edit1.Text; s:=Edit2.Text; For i:=1 to Length(t) div 2 do begin c:=t[i]; t[i]:=t[Length(t)-i+1]; t[Length(t)-i+1]:=c; end; For i:=1 to Length(s) do repeat if Pos(s[i],t) > 0 then Delete(t,Pos(s[i],t),1); until Pos(s[i],t)=0; Edit1.Text:=t; end; |
#6
|
||||
|
||||
W1ndow, спасибо огромное! Очень понятно! Мы как раз проходили ещё и Pos(подстрока,строка). Я даже и забыл про эту функцию! Спасибо ещё раз!
|