1отсортировать массив по возрастанию в столбцах 2 составить массив, элементами которого являются элементы данного массива, записанные в обратном порядке в строках и в столбцах ! !
// PascalABC.NET 3.3, сборка 1555 от 21.10.2017 // Внимание! Если программа не работает, обновите версию!
begin var n:=ReadInteger('Количество строк в массиве:'); var m:=ReadInteger('Количество столбцов в массиве:'); Writeln('*** Исходный массив [',n,',',m,'] ***'); var a:=MatrRandom(n,m,-99,99); a.Println(4); Writeln(4*a.ColCount*'-'); // Отсортировать массив по возрастанию в столбцах for var j:=0 to a.ColCount-1 do a.SetCol(j,a.Col(j).OrderBy(x->x).ToArray); Writeln('*** Массив, сортированный по колонкам ***'); a.Println(4); Writeln(4*a.ColCount*'-'); // элементы, записанные в обратном порядке в строках и в столбцах var b:=new integer[a.RowCount,a.ColCount]; for var i:=0 to a.RowCount-1 do b.SetRow(i,a.Row(i).Reverse.ToArray); for var j:=0 to a.ColCount-1 do b.SetCol(j,b.Col(j).Reverse.ToArray); Writeln('*** Созданный массив ***'); b.Println(4) end.
Пример Количество строк в массиве: 4 Количество столбцов в массиве: 7 *** Исходный массив [4,7] *** -35 72 -60 -96 -3 13 -67 86 55 -58 -58 -25 83 79 -13 54 94 -87 -39 7 67 -64 -87 41 22 38 25 33