Сделать две процедуры в паскаль Сортировка в возрастающем порядке частей

Сделать две процедуры в паскаль
Сортировка в подрастающем порядке частей первого столбца матрицы;
Сортировка в убывающем порядке частей заключительного столбца матрицы;

Задать свой вопрос
Анжелика Хаббанова
Только сортировка тех столбцов что я указал
Илья Елебаев
Строчки не трогать
Бида Константин
Только сортировка тех столбцов что я указал
Эльвира Черепейникова
Строчки не трогать
1 ответ
// PascalABC.NET 3.2, сборка 1431 от 28.04.2017
// Внимание! Если программа не работает, обновите версию!

procedure SortFirstColAsc(p:array[,] of integer);
begin
  var c:=p.Col(0).OrderBy(x-gt;x).ToArray;
  for var i:=0 to p.RowCount-1 do p[i,0]:=c[i]
end;

procedure SortLastColDesc(p:array[,] of integer);
begin
  var j:=p.ColCount-1;
  var c:=p.Col(j).OrderByDescending(x-gt;x).ToArray;
  for var i:=0 to p.RowCount-1 do p[i,j]:=c[i]
end;


begin
  var n:=ReadInteger('Количество строк в матрице:');
  var m:=ReadInteger('Количество столбцов в матрице:');
  Writeln('*** Начальная матрица [',n,',',m,'] ***');
  var a:=MatrRandom(n,m,-99,99);
  a.Println(4); Writeln(4*a.ColCount*'-');
  Writeln('Сортировка по первой колонке');
  SortFirstColAsc(a);
  a.Println(4); Writeln(4*a.ColCount*'-');
   Writeln('Сортировка по последней колонке');
   SortLastColDesc(a);
  a.Println(4)
end.

Пример
Количество строк в матрице: 4
Количество столбцов в матрице: 7
*** Начальная матрица [4,7] ***
 -12  60  18 -46  10   4  26
  32 -73  -2 -88 -70 -46 -17
 -18  94 -41   9 -11  32  94
  32 -18   1 -71 -96 -77  46
----------------------------
Сортировка по первой колонке
 -18  60  18 -46  10   4  26
 -12 -73  -2 -88 -70 -46 -17
  32  94 -41   9 -11  32  94
  32 -18   1 -71 -96 -77  46
----------------------------
Сортировка по заключительной колонке
 -18  60  18 -46  10   4  94
 -12 -73  -2 -88 -70 -46  46
  32  94 -41   9 -11  32  26
  32 -18   1 -71 -96 -77 -17
Ромик Косолапов
вновь все сортирует
Larisa
а не
Sibitov Danil
Все нормас
Елизавета Коряковцева
Только сейчас еще последний по убыванию
Вероника Пасарар
Что поменять?
Галя Ратушенко
Образцово! СПАСИБО ОГРОМНОЕ!!
Саша
вновь все сортирует
Lidija Sobina
а не
Вера Чуватина
Все нормас
Ангелина Орлянская
Только сейчас еще заключительный по убыванию
Анастасия Джиндоян
Что поменять?
Аля Файнгелерина
Образцово! СПАСИБО ОГРОМНОЕ!!
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт