Предмет: Информатика, автор: Metalalchemist

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 - координата биссектрисс, но у меня получаются кое-где отрицательные значения вместо нуля

Ответы

Автор ответа: Segrif
0
Почему бы просто не использовать условный оператор?

If j >= i then
  a[i,j] := j - i + 1
else
 a[i,j] := 0

Если важно именно в виде одной формулы,
a[i,j] := max(i - j + 1, 0)
Автор ответа: Metalalchemist
0
Спасибо, сказали обойтись без условного оператора, одной формулой обязательно
Автор ответа: Segrif
0
А обязательно по одной формуле? В смысле, можно сделать два цикла
Автор ответа: Segrif
0
for i := 1 to n do
  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
Автор ответа: Metalalchemist
0
Два цикла + формула, просто формулу в цикл запихиваешь и все
Автор ответа: Metalalchemist
0
Но уж циклы-то я напишу
Похожие вопросы
Предмет: Математика, автор: felkerivan8
Предмет: Математика, автор: asanhanovaaa19