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

Ответы 9

  • Спасибо, сказали обойтись без условного оператора, одной формулой обязательно
  • Я знаю про цикл, но в основе лежит формула, без нее не заполнишь, а моя неправильная
    • Автор:

      orenpw27
    • 5 лет назад
    • 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
  • Два цикла + формула, просто формулу в цикл запихиваешь и все
  • Но уж циклы-то я напишу
  • Правильная у вас формула, я ее и использовал - только вся суть заполнения массива именно в индексах в двойном цикле.
    • Автор:

      lulu89
    • 5 лет назад
    • 0
  • Точно, спасибо огромное! Теперь разобрался
  • Почему бы просто не использовать условный оператор?If j >= i then  a[i,j] := j - i + 1else a[i,j] := 0Если важно именно в виде одной формулы,a[i,j] := max(i - j + 1, 0)
    • Автор:

      luke66
    • 5 лет назад
    • 0
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years