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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.05.2014, 00:21   #1
Igor_Petrenko
Новичок
Джуниор
 
Регистрация: 15.05.2014
Сообщений: 1
Восклицание Сформировать текстовый файл, в который записать все предложения исходного текста, содержащие кому

Всем доброй ночи
Помогите решить такое вот задание:

Сформировать текстовый файл, в который записать все предложения исходного текста, содержащие кому, а также нужно сформировать список, содержащий длину каждого предложения исходного текста.


Может что-то из этого кода можно "выковырять"?

Код:
procedure TForm1.Button1Click(Sender: TObject);
const
  //Разделители предложений.
  Df = ['.', '!', '?'];
  //Разделители слов.
  Da = ['.', ',', ':', ';', '!', '?', '-', ' ', #9, #10, #13];
var
  S : String;
  //P1 - позиция начала предложения. CntW - счётчик слов в предложении.
  i, CntW, P1, Len : Integer;
begin
  Memo2.Clear;
  
  //Исходный текст.
  S := Memo1.Text;
  Len := Length(S);
 
  //Обработка текста.
  P1 := 0;
  CntW := 0;
  for i := 1 to Len do begin
    //Отслеживаем начало предложения.
    if (i = 1) or (S[i - 1] in Df) then P1 := i;
    //Если символ не является разделителем слова.
    if not (S[i] in Da) then begin;
      //Отслеживаем конец слова и подсчитываем слово.
      if (i = Len) or (S[i + 1] in Da) then Inc(CntW);
    end;
    //Отслеживаем конец предложения.
    if (i = Len) or (S[i] in Df) then begin
      //Если количество слов >= 3, то добавляем это предложение
      //в Мемо результата.
      if CntW >= 2 then Memo2.Lines.Add( Copy(S, P1, i - P1 + 1) );
      //Сброс счётчика слов.
      CntW := 0;
    end;
  end;
end;

Последний раз редактировалось Stilet; 15.05.2014 в 08:20.
Igor_Petrenko вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сформировать одномерный массив, элементами которого являются все положительные элементы исходного массива... sev48fire Помощь студентам 11 07.06.2012 11:06
C++ Исключить из введенного предложения все слова, содержащие заданную пользователем комбинацию из двух символов olegraperos Помощь студентам 4 16.10.2011 22:39
сформировать текстовый файл Артл Паскаль, Turbo Pascal, PascalABC.NET 4 02.05.2011 21:34
сформировать текстовый файл Артл Помощь студентам 1 10.04.2011 22:02
предложения, все слова в которых образованны повторением одного символа, и сформировать из них массив kluwa Общие вопросы C/C++ 4 08.12.2007 15:17