Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.005 c
15-1304785332
TUser
2011-05-07 20:22
2011.08.28
delphi for html/javascript ?


3-1262553825
wipr
2010-01-04 00:23
2011.08.28
отмена удаления в таблицах DBF


4-1249917325
A.Melnyk
2009-08-10 19:15
2011.08.28
Как измененить иконки файлов?


3-1262248374
12
2009-12-31 11:32
2011.08.28
можно как-то сделать быстрее?


9-1189535717
LbS!
2007-09-11 22:35
2011.08.28
Подскажите тему :)




   Наверх