Можливі 5 випадків:
1) пряма перетинає дві протилежні сторони і є перпендикулярною до них. Тоді утворюються два
прямокутники;
2) пряма перетинає дві протилежні сторони і НЕ є перпендикулярною до них. Тоді утворюються дві трапеції;
3) пряма перетинає дві суміжні сторони. Тоді утворюються: трикутник і п'ятикутник;
4) пряма проходить через одну вершину прямокутника і одну з протилежних їй сторін. Тоді утворюються: трикутник і трапеція;
5) пряма проходить через дві протилежні вершини прямокутника (діагональ). Тоді утворюються: два трикутники
Малюнок причепив
const n=100;
var ar:array of array of integer;
ars:array of array of string;
i:integer;
procedure complection(var ar:array of array of integer;var ars:array of array of string);
var
i,j:integer;
begin;
for i:=1 to n do
begin;
for j:=1 to n do
begin;
ar[i,j]:=random(9);
str(ar[i,j],ars[i,j]);
end;
end;
end;
procedure burning(ars:array of array of string);
var
i,j:integer;
t:text;
begin;
assign(t,'text.txt');
rewrite(t);
for i:=1 to n do
begin;
writeln(t,' ');
for j:=1 to n do
write(t,ars[i,j],' ');
end;
end;
begin;
randomize;
setlength(ar,n+1);
setlength(ars,n+1);
for i:=1 to n do
begin;
setlength(ar[i],n+1);
setlength(ars[i],n+1);
end;
complection(ar,ars);
burning(ars);
end.