// PascalABC.NET 3.1, сборка 1219 от 16.04.2016type Matrix=array[,] of integer;procedure MatPrint(a:Matrix);begin var m:=Length(a,1)-1; for var i:=0 to Length(a,0)-1 do begin for var j:=0 to m do Write(a[i,j]:4); Writeln endend;function IsEqual(a:Matrix; col:integer):boolean;begin var s:=sign(a[0,col]); for var i:=1 to Length(a,0)-1 do s+=sign(a[i,col]); if (s=0) then Result:=(a[0,col]<>0) else Result:=falseend;procedure DeleteCol(var a:Matrix; col:integer);begin var n:=Length(a,0)-1; var m:=Length(a,1)-1; for var j:=col+1 to Length(a,1)-1 do for var i:=0 to n do a[i,j-1]:=a[i,j]; SetLength(a,n+1,m)end;begin var n:=ReadInteger('Строк:'); var m:=ReadInteger('Столбцов:'); var a:=MatrixRandom(n,m,-99,99); Writeln('Исходная матрица'); MatPrint(a); for var j:=Length(a,1)-1 downto 0 do if IsEqual(a,j) then DeleteCol(a,j); Writeln('Результирующая матрица'); MatPrint(a); end.
Тестовое решениеСтрок: 8Столбцов: 10Исходная матрица -3 -82 -25 -22 65 1 79 -67 -64 -82 17 36 48 -32 51 11 43 9 -35 4 -10 -5 80 82 -24 66 -12 -58 50 -94 52 70 53 85 -32 -59 46 57 -84 -44 81 71 -55 37 46 -15 -61 25 22 -7 -49 98 -42 -18 -44 -97 -63 -7 -98 99 -86 37 -17 -69 -35 46 82 62 99 11 65 85 -7 -90 23 19 -50 -56 -64 91Результирующая матрица -82 -25 -22 1 -64 36 48 -32 11 -35 -5 80 82 66 50 70 53 85 -59 -84 71 -55 37 -15 22 98 -42 -18 -97 -98 37 -17 -69 46 99 85 -7 -90 19 -64