// 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.First<x.Last).ToArray; var k:=q.Where(r->r).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.