Главная страница
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.007 c
15-1304866052
Novik
2011-05-08 18:47
2011.08.28
С Днем Победы!


15-1304994305
IPranker
2011-05-10 06:25
2011.08.28
Скачать видео со станицы.


15-1304851360
Palladin
2011-05-08 14:42
2011.08.28
Куда девать нечитабельные и старые CD/DVD ?


1-1264400079
Spot
2010-01-25 09:14
2011.08.28
Двойной клик по RXsplitter


8-1215338411
NIK
2008-07-06 14:00
2011.08.28
basswma