uses crt;
const n=6;
var a:array[1..n,1..n] of integer;
v:array[1..n] of integer;
i,j,mn,imn,jmn,x,p,sm:integer;
begin
clrscr;
randomize;
{создаем матрицу из случайных чисел от 0 до 99}
for i:=1 to n do
for j:=1 to n do
a[i,j]:=random(100);
{выводим исходную матрицу посередине экрана}
gotoxy(28,7);
writeln('Исходная матрица:');
for i:=1 to n do
begin
gotoxy(24,i+8);
for j:=1 to n do
write(a[i,j]:4);
end;
gotoxy(26,wherey+2);
write('Для продолжения нажмите Enter...');
readln;
clrscr;{очищаем экран}
{сортируем по убыванию первый столбец}
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i,1]<a[j,1] then
begin
p:=a[i,1];
a[i,1]:=a[j,1];
a[j,1]:=p;
end;
{побочную диагональ}
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i,n-i+1]<a[j,n-j+1] then
begin
p:=a[i,n-i+1];
a[i,n-i+1]:=a[j,n-j+1];
a[j,n-j+1]:=p;
end;
gotoxy(5,7);
writeln('Результат сортировки по убыванию первого столбца и побочной диагонали');
for i:=1 to n do
begin
gotoxy(24,i+8);
for j:=1 to n do
if (j=1)or(j=n-i+1)then{первый столбец и побочная диагональ}
begin
textcolor(12);{красным}
write(a[i,j]:4);
end
else
begin
textcolor(15);
write(a[i,j]:4);
end;
end;
writeln;
textcolor(15);
{ищем минимальный элемент и его координаты}
mn:=a[1,1];
imn:=1;
jmn:=1;
for i:=1 to n do
for j:=1 to n do
if a[i,j]<mn then
begin
mn:=a[i,j];
imn:=i;
jmn:=j;
end;
gotoxy(26,wherey+2);
writeln('Минимальный элемент a[',imn,',',jmn,']=',mn);
writeln;
{сумма элементов матрицы}
sm:=0;
for i:=1 to n do
for j:=1 to n do
sm:=sm+a[i,j];
gotoxy(26,wherey);
writeln('Сумма элементов матрицы=',sm);
writeln;
{создание вектора}
for i:=1 to n do
v[i]:=a[i,2];
gotoxy(26,wherey);
writeln('Вектор из элементов второго столбца:');
gotoxy(26,wherey);
for i:=1 to n do
write(v[i],' ');
writeln;
gotoxy(26,wherey);
write('Для выхoда из программы нажмите Enter...');
readln
end.