Написать код дан файл, содержащий текст на языке и некоторые два слова. определить, сколько раз они встречаются в тексте и сколько из них — непосредственно друг за другом.
Program primer; var f: text; i, j, h: byte; l, k: smallint; s, s1, s2, m: string; begin assign(f, 'F.txt'); {путь к файлу} reset(f); read(f, s); s := ' ' + s + ' '; close(f); writeln('укажите 2 слова через строчку'); readln(s1); readln(s2); i := 0; j := 0; m := s; k := 1; while k <> 0 do begin k := pos(' ' + s1 + ' ', m); if (k <> 0) then inc(i); delete(m, 1, k + length(s1)); end; k := 1; m := s; while k <> 0 do begin k := pos(' ' + s2 + ' ', m); if (k <> 0) then inc(j); delete(m, 1, k + length(s2)); end; m := s; k := 1; h:=0; while (k <> 0) or (l <> 0) do begin k := pos(' ' + s1 + ' ' + s2 + ' ', m); l := pos(' ' + s2 + ' ' + s1 + ' ', m); if (k <> 0) or (l <> 0) then inc(h); delete(m, 1, k + l + length(s2 + s1) + 1); end; writeln('количество слов соответствующих первому = ', i); writeln('количество слов соответствующих второму = ', j); writeln('непосредственно друг за другом х', h); end.
var
f: text;
i, j, h: byte;
l, k: smallint;
s, s1, s2, m: string;
begin
assign(f, 'F.txt'); {путь к файлу}
reset(f);
read(f, s);
s := ' ' + s + ' ';
close(f);
writeln('укажите 2 слова через строчку');
readln(s1);
readln(s2);
i := 0; j := 0; m := s; k := 1;
while k <> 0 do
begin
k := pos(' ' + s1 + ' ', m);
if (k <> 0) then inc(i);
delete(m, 1, k + length(s1));
end;
k := 1; m := s;
while k <> 0 do
begin
k := pos(' ' + s2 + ' ', m);
if (k <> 0) then inc(j);
delete(m, 1, k + length(s2));
end;
m := s; k := 1; h:=0;
while (k <> 0) or (l <> 0) do
begin
k := pos(' ' + s1 + ' ' + s2 + ' ', m);
l := pos(' ' + s2 + ' ' + s1 + ' ', m);
if (k <> 0) or (l <> 0) then inc(h);
delete(m, 1, k + l + length(s2 + s1) + 1);
end;
writeln('количество слов соответствующих первому = ', i);
writeln('количество слов соответствующих второму = ', j); writeln('непосредственно друг за другом х', h);
end.