Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.27;
Скачать: CL | DM;

Вниз

помогите пожалуйста разобрать (что-то не работает)   Найти похожие ветки 

 
laser ©   (2003-01-15 23:30) [0]

const str="Помогите пожалуйста разобрать";
var
p1:word;
s1,s2:string;
begin
p1=pos("пожалуйста",str);
if p1 <= 0 then exit;

while(str[p1] <> " ")
begin
s1:=s1+str[p1];
dec(p1);
end
p1:=pos("пожалуйста",str) + length("пожалуйста");

while(str[p1] <> " ")
begin
s2:=s2+str[p1];
inc(p1);
end

Result:
s1 = "п"
s2 = " "

,а должно быть

s1 = "помогите"
s2 = "разобрать"


 
MXA   (2003-01-16 00:17) [1]

:) а на каком это языке вообще?
понажимай F7 да Ctrl+F7 - через минуту сам все поймеш!!!


 
OlDemon ©   (2003-01-16 07:22) [2]

не я просто $#%%# от такого кода


 
OlDemon ©   (2003-01-16 07:27) [3]

тебя кто так учил?
1. Код при компиляции выдал 3! ошибки
2. s1 никогда не будет равен "помогите" поймешь почему?
3. Здаешь функцию copy? С ней твой код уложится в 2 строчки.
4. и т.д.


 
OlDemon ©   (2003-01-16 07:28) [4]

Ура я понял что не работает - твой голова!!! :)))


 
gek ©   (2003-01-16 07:58) [5]

Нет парень идет в верном направлении
можно конечно и так

s2:=copy(str,pos("пожалуйста",str) + length("пожалуйста") + 1,length("пожалуйста"));
s1:=copy(str,1,pos("пожалуйста",str)-1);


Ну а если слов стоящие по бокам неизвестны и строка состоит из n-го количества слов?

в качестве примера чуть подправим


p1:=pos("пожалуйста",str) + length("пожалуйста")+1;

while(str[p1] <> "") do
begin
s2:=s2+str[p1];
inc(p1);
end;

p1:=pos("пожалуйста",str)-1;
if p1 <= 0 then exit;

while(str[p1] <> "")do
begin
s1:=str[p1] + s1;
dec(p1);
end


Думаю принцип понятен


 
Думкин   (2003-01-16 08:29) [6]


> gek © (16.01.03 07:58)
> Ну а если слов стоящие по бокам неизвестны и строка состоит
> из n-го количества слов?

И там можно - надо указать какие функции он может юзать.
1. Можно составить список всех слов используя Copy,Pos,Delete. 2. Если разделители разные, то можно прпойтись как и описано и опять же составить список.
3. Если можно юзать TStringList - то там проще, если разделитель один.



Страницы: 1 вся ветка

Текущий архив: 2003.01.27;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.06 c
1-86942
Игорь
2003-01-15 02:50
2003.01.27
Какой компонент подойдёт для чтения doc файла?


7-87150
vidiv
2002-11-11 12:37
2003.01.27
Мессагу на экран.


1-86908
Chizh
2003-01-15 22:43
2003.01.27
Как в CheckListBox по нажатию кнопки выделить все Items ы?


6-86997
Moscower
2002-11-28 20:46
2003.01.27
Как узнать физический номер сетевой карты?


3-86619
Nichka
2003-01-05 15:20
2003.01.27
Первая база данных