Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.12.2007, 12:52   #1
forumu
Пользователь
 
Регистрация: 19.11.2007
Сообщений: 36
По умолчанию #Delphi Строки

Здравствуйте, программисты, помогите пожалуйста...

Выполнить задание следующим образом:
Текст ввести с помощью компонента Memo.
Вывести слова исходного текста в алфавитном порядке.

Дан текст на русском языке. Определить сколько раз встречается в нем самое короткое слово.
forumu вне форума Ответить с цитированием
Старый 24.12.2007, 15:09   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Ну, и где ваш, пусть даже и неработающий вариант?
Или вы тоже заскочили сюда за халявой?
mihali4 вне форума Ответить с цитированием
Старый 24.12.2007, 17:37   #3
forumu
Пользователь
 
Регистрация: 19.11.2007
Сообщений: 36
По умолчанию

Код:

const
  sep = '.,!?:;()- '#13#10;
....
var
  wrd: string;
  i: integer;
begin
  ListBox1.Clear;
  wrd := '';
  for i := 1 to length(Memo1.Text) do
    begin
      if pos(Memo1.Text,sep) > 0 then
        begin
          if wrd <> '' then
            ListBox1.Items.Add(wrd);
          wrd := '';
        end
      else
        wrd := wrd + Memo1.Text;
    end;
  if wrd <> '' then
    ListBox1.Items.Add(wrd);
  Listbox1.Sorted := true;
end;

Здесь надо плюс к этому определить,сколько раз встречается самое короткое слово. Помогите пожалуйста.
forumu вне форума Ответить с цитированием
Старый 24.12.2007, 23:31   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Здесь надо плюс к этому определить,сколько раз встречается самое короткое слово
Предложение такое.
Memo1.Text рассматриваем как длинную строку и ищем в ней все пробелы при помощи функции PosEx.
Каждый раз при получении позиции пробела сравниваем ее с предыдущей - то есть косвенно определяем длину слова и если она меньше, чем у нас было, устанавливаем новую величину (и запоминаем слово). В конце концов получаем длину самого короткого слова и само слово. Попутно, видимо, нужно анализировать полученное слово на "прилипшие" запятые, точки и прочие знаки препинания.
При помощи той же функции PosEx находим количество вхождений этого слова в Memo1.Text. Это и будет ответ на вопрос.
mihali4 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi. Строки. inmate Помощь студентам 2 19.05.2008 18:14
считать из файла две строки, вывести на экран символы первой строки, которые отсутствуют во второй gotex Помощь студентам 4 08.05.2008 02:27
Обработка XML строки при загрузке dbf в Delphi SereJa1020 БД в Delphi 1 18.12.2007 18:28
Строки в Delphi. Wise Помощь студентам 9 03.12.2007 17:58
Выполнение командной строки в Delphi Alar Общие вопросы Delphi 0 29.10.2006 19:44