Pascal. Нужно сформировать двумерный массив размерности n x n, при этом каждый элемент массива должен заполняться в зависимости от его места в массиве:
1 2 3 ... n-1 n
0 1 2 ... n-2 n-1
0 0 1 ... n-3 n-2
. . . . .
. . . . .
. . . . .
0 0 0 ... 0 1
Нужна только формула, по которой заполняется массив, мой вариант: j-i+1 где j - координата абсцисс, а i - координата биссектрисс, но у меня получаются кое-где отрицательные значения вместо нуля
Answers & Comments
If j >= i then
a[i,j] := j - i + 1
else
a[i,j] := 0
Если важно именно в виде одной формулы,
a[i,j] := max(i - j + 1, 0)
begin
for j := 1 to i-1 do a[i,j] := 0
for j := i to n do a[i,j] := j - i + 1
end
Const N = 10;
Var M : array[1..N,1..N] of Integer;
i,j : Byte;
Begin
For i:=1 to n do
For j:=i to n do M[i,j]:=j-i+1;
For i:=1 to N do
Begin
For j:=1 to N do Write(M[i,j]:4);
Writeln;
end;
end.