Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.01.27;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.01 c
1-86764
Grrey
2003-01-17 15:22
2003.01.27
Как создать элемент MainMenu и использовать не TNotifyEvent?


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


1-86845
beginer_
2003-01-19 16:26
2003.01.27
Convert String to PChar ?


1-86734
pet
2003-01-17 11:55
2003.01.27
Работа с ярлыком


4-87198
Nubie
2002-11-22 14:37
2003.01.27
Мигание





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский