uses crt;
const size=100;//макс размер массива
type mas=array[1..size] of string;//тип строковый массив
fail=file of mas;//тип файла строковых массивов
procedure Slovo(s:string; var s1:string);//процедура нахождения макс слова
var mx,nmx,i,n,k:byte;
begin
s:=s+' ';//добавим пробел
mx:=0;nmx:=1;
i:=1;
while i<=length(s)do//пока не конец строки
if s[i]<>' ' then//если не пробел
begin
n:=i;k:=1;//смотрим это слово
while s[n+k]<>' 'do//до следующего пробела
k:=k+1;//по 1 символу
if k>mx then//дошли до пробела, и если длиннее всех
begin
mx:=k;//макс длина
nmx:=n;//номер индекса начала слова
end;
i:=i+k+1;//перепрыгиваем через это слово
end
else i:=i+1;//иначе просто вперед
s1:=copy(s,nmx,mx);//копируем с позиции начала слова символы по его длине
end;
var f:fail;
g:file of string;
a:mas;
sl:string;
n,i:byte;
begin
clrscr;
assign(f,'massiv');
rewrite(f);
assign(g,'slova');
rewrite(g);
repeat
write('Размер массива до ',size,' n=');
readln(n);
until n in [1..size];
writeln('Создайте массив из ',n,' строк:');
for i:=1 to n do
begin
writeln('Строка ',i);
readln(a[i]);
end;
write(f,a);
clrscr;
writeln('Содержание файла массивов:');
reset(f);
read(f,a);
for i:=1 to n do
begin
writeln(a[i]);
Slovo(a[i],sl);
write(g,sl);
end;
close(f);
writeln('Содержание файла максимальных слов:');
reset(g);
while not eof(g) do
begin
read(g,sl);
write(sl,' ');
end;
close(g);
readln
end.