uses Crt; const n=20; type Mas=array [1..n, 1..n] of integer; var A: Mas; i,k, Sum: integer; begin ClrScr; Sum:=0; for i:=1 to n do begin for k:=1 to n do begin if i>k then begin A[i,k]:=1; Sum:=Sum+A[i,k]; end else begin A[i,k] :=-1; Sum:=Sum+A[i,k]; end; Write(A[i,k]:3); end; WriteLn; end; WriteLn; WriteLn(' Sum = ',Sum); ReadLn; end.
Эта программа симметрично относительно главной диагонали заполняет массив единичками с плюсом или минусом и считает сумму диагональных элементов. Если n=20, то Sum = -20 Если n = 100, то Sum = - 100 ПРАВИЛЬНЫЙ ОТВЕТ: 3) - 100
// F# [<EntryPoint>] let main argv = let generateTable n m = Array2D.init n m (fun i j -> (i+1) * (j+1)) let printMatrix (matrix:int[,]) = printf " " for i = 0 to (Array2D.length1 matrix) - 1 do printf "%4d " (i+1) printf "\n" printf " " for i = 0 to (Array2D.length1 matrix) - 1 do printf "" printf "\n" for j = 0 to (Array2D.length2 matrix) - 1 do printf "%2d |" (j+1) for i = 0 to (Array2D.length1 matrix) - 1 do printf "%4d " matrix.[i, j] printf "\n" printf "\n" let inputArray = generateTable 10 10 printMatrix inputArray System.Console.ReadKey true |> ignore 0
uses Crt;
const n=20;
type Mas=array [1..n, 1..n] of integer;
var A: Mas;
i,k, Sum: integer;
begin
ClrScr;
Sum:=0;
for i:=1 to n do
begin
for k:=1 to n do
begin
if i>k then
begin
A[i,k]:=1;
Sum:=Sum+A[i,k];
end
else
begin
A[i,k] :=-1;
Sum:=Sum+A[i,k];
end;
Write(A[i,k]:3);
end;
WriteLn;
end;
WriteLn;
WriteLn(' Sum = ',Sum);
ReadLn;
end.
Эта программа симметрично относительно главной диагонали заполняет массив единичками с плюсом или минусом и считает сумму диагональных элементов.
Если n=20, то Sum = -20
Если n = 100, то Sum = - 100
ПРАВИЛЬНЫЙ ОТВЕТ: 3) - 100