Как преобразовать данные из текстового документа в массив

var
  a:text;
  s:string;
  b:array of string; 
begin
  en3 := Encoding.GetEncoding(65001);
  assign(a, 'C:\Users\Новый текстовый документ.txt');
  //пусть предложение будет следующим: Найти количество согласных букв в последнем слове 
  reset(a, en3);
  while not EOF(a) do
  begin
    readln(a,s);
  end;
  print(s);
  //дальше ступор
end.

Ответы (1 шт):

Автор решения: Anton Shchyrov
var
  LFile: Text;
  LStr: string;
  LLastStr: string;
  LLastWord: string;
  LPos: Integer;
begin
  en3 := Encoding.GetEncoding(65001);
  Assign(LFile, 'C:\Users\Новый текстовый документ.txt');
  //пусть предложение будет следующим: Найти количество согласных букв в последнем слове 
  Reset(LFile, en3);
  LLastStr := '';  // Последняя прочитанная строка
  while not EOF(LFile) do
  begin
    Readln(LFile, LStr);
    LStr := Trim(LStr);  // Обрезаем начальные и конечные пробелы
    // Если прочитали не пустую строку, то запоминаем ее
    if LStr <> '' then
      LLastStr := LStr;
  end;
  Close(LFile);  // Не забываем закрыть файл
  // Ищем последний пробел
  LPos := LastPos(' ', LLastStr);
  // Если нашли, то копируем все до конца строки
  if LPos > 0 then
    LLastWord := Copy(LLastStr, LPos + 1, Length(LLastStr))
  else  // если пробел не нашли, то строка состоит из одного слова
    LLastWord := LLastStr;
  print(LLastWord);
end.
→ Ссылка