Умова задачі: Створити текстовий файл, кожний рядок якого містить різні слова. Впорядкувати слова в рядку за алфавітом, переписати в новий текстовий файл, записати останнім рядком файлу кількість слів у файлі.
uses crt;
var
f1,f2:text;
i,k,n,l,j,kol:integer;
b,d,s,prom:string;
sim:char;
c:array [1..20] of string;
procedure vvod_f1;
begin
assign(f1,'lab.dat');
rewrite(f1);
repeat
writeln('input string of words:');
readln(s);
writeln(f1,s);
writeln('continue ?[Y/N]');
sim:=readkey;
until (sim='N') or (sim='n');
close(f1);
end;
procedure print_f(var f:text);
begin
reset(f);
while not eof(f) do
begin
readln(f,s); writeln(s);
end;
close(f);
end;
procedure sort;
begin for i:=1 to l-1 do
for j:=i+1 to l do
if c[i]>c[j] then begin prom:=c[j];
c[j]:=c[i];
c[i]:=prom;
end;
end;
procedure sort_f2;
begin
assign(f2,'new.dat');
assign(f1,'lab.dat');
rewrite(f2);
reset(f1);
kol:=0;
while not eof(f1) do
begin
readln(f1,s);
s:=s+' ';
k:=length(s);
d:=''; L:=0;
for i:= 1 to k do begin
b:= copy (s,i,1);
if b<>' ' then d:=d+b;
if (B= ' ') and (d<>'') then begin l:=l+1; c[l]:=d; d:=''; end;end;
sort;
s:='';
for i:= 1 to l do s:=s+c[i]+' ';
writeln(f2,s);
kol:=kol+l;
end;
writeln(f2,'number of words Is ',kol);
close(f2);
close(f1);
end;
begin
clrscr;
vvod_f1;
writeln('=======================');
print_f(f1);
writeln('=======================');
sort_f2;
writeln('new flte of text after sorting:');
print_f(f2);
end.