// PascalABC.NET 3.1, сборка 1219 от 16.04.2016 type 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 end end;
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:=false end;
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.
Procedure GetAB(x: integer; var a: integer; var b: integer); begin a := 0; b := 1; while x > 0 do begin a := a + 1; b := b * (x mod 100); x := x div 100; end; end;
var x, a, b: integer;
begin for x := 10000 to 2000000000 do begin GetAB(x, a, b); if (a = 3) and (b = 18) then Println(a, b, x); end; end.
const n=10;
var a:array[1..n] of integer;
i: integer; p: longint;
begin
writeln('Введите элементы массива:');
for i:=1 to n do read(a[i]);
p:=1;
for i:=1 to n do p:=p*a[i];
writeln('p = ',p);
end.
Пример:
Введите элементы массива:
2 -3 4 1 8 -1 5 -7 -2 3
p = 40320