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.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку