PascalABC.NET Дана двумерная матрица A(N,m). Удалить все столбцы,в которых первый элемент больше последнего (Срочно Сесия!)
PascalABC.NET Дана двумерная матрица A(N,m). Удалить все столбцы,в которых первый элемент больше последнего
(Срочно Сесия!)
Ответ(ы) на вопрос:
Гость
// PascalABC.NET 3.2, сборка 1363 от 17.12.2016
// Внимание! Если программа не работает, обновите версию!
begin
var m:=ReadInteger('Количество строк в матрице:');
var n:=ReadInteger('Количество столбцов в матрице:');
Writeln('*** Исходная матрица [',m,'x',n,'] ***');
var a:=MatrRandom(m,n,-50,50);
a.Println(4); Writeln(4*a.ColCount*'-');
var q:=a.Cols.Select(x->x.Firstr).Count;
Writeln('*** Результирующая матрица [',m,'x',k,'] ***');
var b:=MatrFill(m,k,0);
var l:=0;
for var j:=0 to n-1 do
if q[j] then begin
for var i:=0 to m-1 do b[i,l]:=a[i,j];
l+=1
end;
b.Println(4)
end.
Пример
Количество строк в матрице: 5
Количество столбцов в матрице: 8
*** Исходная матрица [5x8] ***
15 -35 -11 -18 49 -32 31 -47
-21 -46 7 -48 3 24 -48 5
28 -46 36 -9 17 -32 -44 -10
-16 7 -14 40 13 30 50 -28
-8 35 -49 47 -31 30 18 20
--------------------------------
*** Результирующая матрица [5x4] ***
-35 -18 -32 -47
-46 -48 24 5
-46 -9 -32 -10
7 40 30 -28
35 47 30 20
Не нашли ответ?
Похожие вопросы