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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.12.2012, 21:03   #1
a9x
 
Регистрация: 27.11.2012
Сообщений: 4
По умолчанию Шекспир-подсчёт статистики по английским словам (Delphi)

Задание: написать программу, которая считывает txt файл - Шекспир во оригинале на английском, и считает слова, которые Шекспир употребил в произведении - все слова, кроме тех, которые повторяются. Главное - чтобы прога считала слова в разных формах с окончаниями -ing, -ed, -ies и тд - за одно слово. Я написал программу, которая считает слова, и те, которые повторяются - считает за одно слово. Помогите пож с разными формами.
Например слова change, changed - считать за одно слово.
Вот моя прога
Код Delphi
Код:
procedure TForm1.Button1Click(Sender: TObject);
const
  // Все, что считается разделителем
  Separator = ['''', '"', '&', '.', ',', ':', ';', '!', '?', '-', ' ', #9, #10, #13];
var
  sL, sLtxt: TStringList;
  i: integer;
  f: TextFile;
  s: string;
begin
  sL := TStringList.Create;      // Создаем переменную для хранения слов
  sL.Sorted :=true;              // Назначаем ей св-ва Сортировать
  sL.Duplicates := dupIgnore;    // и игнорировать дубликаты
  AssignFile(f,'Otello.txt');        // Связываем f с текстовым файлом
  Reset(f);                      // Начало файла
  while not EOF(f) do            // Пока не дойдем до конца
  begin
    ReadLn(f,s);                 // Читаем строку
    for i := 1 to Length(s) do   // Если есть кавычка ('), заменяем на пробел
      if s[i] = '''' then s[i] := ' ';
     ExtractStrings(Separator, [' '], PAnsiChar(s), sL); // и записываем их в sL
  end;
  ListBox1.Items.Assign(sL);     // Выводим результат в ЛистБокс
  sL.Free;                       // Освобождаем память от ненужных больше переменных
  CloseFile(f);                  // Закрываем файл
  ShowMessage(IntToStr(ListBox1.Count)); // Показываем кол-во найденных слов
 
end;
end.

Последний раз редактировалось a9x; 01.12.2012 в 21:07.
a9x вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нужна "Программа ведения статистики продаж отдела магазина" в Delphi. Юличка90 Помощь студентам 10 23.05.2012 23:35
Проблемы с английским krotFT Свободное общение 8 21.07.2010 10:14
Delphi подсчёт затраченного времени АлексаШка Помощь студентам 6 09.06.2010 08:51
access+delphi поиск по словам в поле memo gvozdkoff БД в Delphi 2 25.02.2009 07:13