Написать программу на abc pascal: дан текстовый файл f. найти слова, заканчивающие на of

Снежана1995 Снежана1995    2   01.07.2019 08:20    0

Ответы
Pincode11 Pincode11  24.07.2020 18:21
Const
  n=50;
var
  f:Text;
  s:string;
  ss:array of string;
  a:array[1..n] of string;
  i,j:integer;
begin
  Assign(f,'input.txt'); Reset(f);
  j:=0;
  while not Eof(f) do begin
    Readln(f,s);
    ss:=s.Split(' ');
    for i:=0 to Length(ss)-1 do
      if Length(ss[i])>1 then
        if RightStr(ss[i],2)='of' then
        begin Inc(j); a[j]:=ss[i] end;
  end;
  Close(f);
  for i:=1 to j do Write(a[i],' ');
  Writeln
end.

Тестовое решение:
123of asdfdsof dasof

Есть решение и покороче, но совсем не уровня начинающих:
uses
  System.Text.RegularExpressions;
const
  n=50;
var
  f:Text;
  s:string;
  a:array[1..n] of string;
  i,j:integer;
begin
  Assign(f,'input.txt'); Reset(f);
  j:=0;
  while not Eof(f) do begin
    Readln(f,s);
    foreach var m:Match in Regex.Matches(s,'\b\S+of\b') do
    begin Inc(j); a[j]:=m.Value end;
  end;
  Close(f);
  for i:=1 to j do Write(a[i],' ');
  Writeln
end.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика