Pascal. Нужно сформировать двумерный массив размерности n x n, при этом каждый элемент массива должен заполняться в зависимости от его места в массиве: 1 2 3 ... n-1 n 0 1 2 ... n-2 n-1 0 0 1 ... n-3 n-2 . . . . . . . ...
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 - координата биссектрисс, но у меня получаются кое-где отрицательные значения вместо нуля
Ответ(ы) на вопрос:
Гость
Почему бы просто не использовать условный оператор?
If j >= i then
a[i,j] := j - i + 1
else
a[i,j] := 0
Если важно именно в виде одной формулы,
a[i,j] := max(i - j + 1, 0)
Гость
Нужна не формула, а двойной цикл!
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.
Не нашли ответ?
Похожие вопросы