Главная страница
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.009 c
2-1305568293
volkafff
2011-05-16 21:51
2011.08.28
Классы


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


2-1305445442
maksim
2011-05-15 11:44
2011.08.28
3 потока и одна переменная


6-1240993239
sCANner
2009-04-29 12:20
2011.08.28
Indy IdMessage получить все заголовки письма


15-1305086552
Demo
2011-05-11 08:02
2011.08.28
Дисковое пространство для форума