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

Вниз

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

 
обморок ©   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.003 c
1-1264209222
Gear
2010-01-23 04:13
2011.08.28
вызов MessageDlg из отдельной нитки


15-1304886593
Юрий
2011-05-09 00:29
2011.08.28
С днем рождения ! 9 мая 2011 понедельник


2-1305542929
Соня
2011-05-16 14:48
2011.08.28
Delphi. Соединение с БД MS SQL Server


2-1305349826
User
2011-05-14 09:10
2011.08.28
Dataset.Locate - ставит курсор посредиине таблицы


4-1250024459
kluben-hh
2009-08-12 01:00
2011.08.28
Вывести текст поверх рабочего стола





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский