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

Вниз

самое длинное слово   Найти похожие ветки 

 
обморок ©   (2011-05-15 14:02) [0]

задание: дана последовательность слов, разделённых пробелами, вывести самое длинное слово(с наибольшим количеством букв).
вот так решил в паскале:
Var MaxL,C : String;
   Pb : Byte;
begin
    ClrScr;
    WriteLn("vvedite slova:");
    ReadLn(C);
    MaxL := "";
    While Pos(" ",C) <> 0 Do Begin
       Pb := Pos(" ",C);
       If Length(MaxL) < Length(Copy(C,1,Pb-1)) Then MaxL := Copy(C,1,Pb-1);
       Delete(C,1,Pb);
    End;
    If Length(MaxL) < Length(C) Then MaxL := C;
     WriteLn;
    WriteLn("samoe dlinnoe slovo:");
    WriteLn(MaxL);
    ReadLn;
End.
(работает)
теперь нужно тоже самое сделать в дэлфи. Попробовал так:
procedure TForm1.Button1Click(Sender: TObject);
Var MaxL,C : String;
   Pb : Byte;
begin
val(Memo1.Text,c,code);
MaxL := "";
    While Pos(" ",C) <> 0 Do Begin
       Pb := Pos(" ",C);
       If Length(MaxL) < Length(Copy(C,1,Pb-1)) Then MaxL := Copy(C,1,Pb-1);
       Delete(C,1,Pb);
    End;
    If Length(MaxL) < Length(C) Then MaxL := C;
    Memo2.Lines.Add("самое длинное слово:");
    Memo2.Lines.Add(MaxL);

end;
показывает ошибку в строке val(Memo1.Text,c,code);(это я хотел считаь введённую строку) но наверняка они и дальше есть))) Подскажите пожалуйста, как исправить программу.


 
MBo ©   (2011-05-15 14:10) [1]

c := Edit1.Text;

А по сути алгоритма -  можно сделать очень просто.
Один проход по строке циклом for.
Встретили пробел - находим длину слова до предыдущего пробела, позицию которого запомнили. Запоминаем позицию текущего пробела.


 
обморок ©   (2011-05-15 15:42) [2]


> MBo

Спасибо получилось.



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

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

Наверх




Память: 0.47 MB
Время: 0.01 c
15-1305011498
Фокс Йовович
2011-05-10 11:11
2011.08.28
Аутстаффинг


2-1305300970
Gu
2011-05-13 19:36
2011.08.28
Курсоры


3-1263219115
dolmat
2010-01-11 17:11
2011.08.28
order by изменить порядок сортировки


1-1264209222
Gear
2010-01-23 04:13
2011.08.28
вызов MessageDlg из отдельной нитки


2-1305291291
AlekVolsk
2011-05-13 16:54
2011.08.28
Вынос модуля данных в DLL