uses crt;
const max=10;
type kult=record
nam:string[10];
typ:char;
pls:word;
urz:byte;
end;
var a:array[1..max] of kult;
x:kult;
n,i,j:byte;
begin
clrscr;
repeat
write('Количество культур от 7 до 10 n=');
readln(n);
until n in [7..10];
writeln('Введите данные:');
for i:=1 to n do
begin
writeln('Культура ',i);
with a[i] do
begin
write(' наименование: ');readln(nam);
repeat
write(' тип (З,Б): ');readln(typ);
until typ in ['Б','З'];
write(' посевная площадь, га: ');readln(pls);
write(' урожайность, цн/га: ');readln(urz);
end;
end;
clrscr;
writeln('Исходные данные:':40);
writeln;
writeln('---------------------------------------------------');
writeln('| Наименование | Тип | Пос. площадь | Урожайность |');
writeln('---------------------------------------------------');
for i:=1 to n do
with a[i] do
begin
gotoXY(1,whereY);write('| ',nam);
gotoXY(16,whereY);write('|',typ:3);
gotoXY(22,whereY);write('|',pls:11);
gotoXY(37,whereY);write('|',urz:11);
gotoXY(51,whereY);writeln('|');
end;
writeln('---------------------------------------------------');
write('Нажмите Enter');
readln;
clrscr;
for i:=1 to n-1 do
for j:=1 to n-1 do
if a[j].nam>a[j+1].nam then
begin
x:=a[j];
a[j]:=a[j+1];
a[j+1]:=x;
end;
writeln('Данные после сортировки по первому столбцу:':40);
writeln;
writeln('---------------------------------------------------');
writeln('| Наименование | Тип | Пос. площадь | Урожайность |');
writeln('---------------------------------------------------');
for i:=1 to n do
with a[i] do
begin
gotoXY(1,whereY);write('| ',nam);
gotoXY(16,whereY);write('|',typ:3);
gotoXY(22,whereY);write('|',pls:11);
gotoXY(37,whereY);write('|',urz:11);
gotoXY(51,whereY);writeln('|');
end;
writeln('---------------------------------------------------');
readln
end.