procedure SortFirstColAsc(p:array[,] of integer);
begin
var c:=p.Col(0).OrderBy(x->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->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
Объяснение:
так?
Поделитесь своими знаниями, ответьте на вопрос:
Составьте программу, вычисляющую объем v куба и площадь s полной поверхности, если известна длина ребра a куба. вывод на экран оформить следующим образом: введите длину ребра куба в см: 2.5 объем куба равен 15.625 куб. см. площадь полной поверхности куба равна 37.5 кв. см.
var b,c,a:real;
begin
writeln('Введите длину ребра'); readln(a);
b:= sqr(a) * a;
c:= 6 * sqr(a);
writeln('Объем куба равен = ',b);
writeln('Площадь полной поверхности куба равна = ',c);
end.