|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Помогите разобраться с работой со строками
Есть задание: вводится строка, слова в которой разделены запятыми. Напечатать слова с наибольшим и наименьшим количеством символов! Пожалуйста, если не трудно напишите программку!
|
#2
|
|||
|
|||
Так тебе разобраться или за тебя написать?
В принципе, тебе нужны 2 функции: Copy и Pos. Первая копирует часть строки начиная с указанного символа и указанной длинны. Вторая - возвращает позицию указанной подстроки в переданной строке. По сути, тебе надо разбить строку на слова по разделителю "запятая", а далее просто с помощью функции Length посмотреть длинну полученного слова. Код:
procedure GetMaxMinWords(AStr : String; var MinLen, MaxLen : String); var APos : Integer; Buf : String; begin AMinLen := ''; AMaxLen := ''; APos := Pos(',',AStr); While Pos > 0 Do Begin Buf := Trim(Copy(AStr,1,APos-1); AStr := Copy(AStr,APos+1,Length(AStr)-APos+1); If Length(Buf) > Length(AMaxLen) Then AMaxLen := Buf; If Length(Buf) < Length(AMinLen) Then AMinLen := Buf; End; If AStr <> '' Then Begin If Length(AStr) > Length(AMaxLen) Then AMaxLen := AStr; If Length(AStr) < Length(AMinLen) Then AMinLen := AStr; End; end; Где-то так. Объяснять не буду - лень. |
#3
|
|||
|
|||
Понимаешь, я заочник...И самому догнать очень сложно...А вот когда я вижу программу, я понимаю как она работает, алгоритм действий, а сам до этого дойти не могу...Тем более я не знаю операторов!
|
#4
|
|||
|
|||
А еще я не понимаю смысла и значения первой строки...Procedure ....можешь объяснить...В школе я изучал бейсик, там такого не было...
|
#5
|
|||
|
|||
Это имя подпрограммы. могут быть 2 видов
procedure - не возвращает значения; function - возвращает значение. Конечно, можно возвращать значения через var-параметры. возьми любую книжку по паскалю и прочитай о синтаксисе языка. |
#6
|
||||
|
||||
Кстати из книг могу посоветовать А. Жуков "Изучаем Delphi". Я "самоучка" и эта книга мне сильно помогла в изучении Dephi.
А в Бейсике аналогом Procedure является Sub (если я ничего не путаю...). Начинающий программист уверен, что в 1 килобайте 1000 байт.
Законченный программист уверен, что в 1 километре 1024 метра. |
#7
|
|||
|
|||
Спасибо за совет! Обязательно воспользуюсь....
|