Создать матрицу из 36 элементов типа INTEGER и вынести ее на середину экрана, отсортировать первую колонку и побочную диагональ матрицы.определить минимальный элемент таблицы и найти его индексы.найти сумму всех элементов таблицы создать линейный массив равный вектора (вторая колонка матрицы) и вывести все на экран — Pascal(Паскаль)

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.

Leave a Comment

14 + = 18