Вопрос задан 09.09.2020 в 15:26. Предмет Информатика. Спрашивает Воронова София.

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

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Ваша формула, j-i+1, действительно создает отрицательные значения вместо нулей в некоторых элементах массива. Это происходит из-за того, что индексы в массиве в Паскале начинаются с 0, а не с 1.

Чтобы избежать этой проблемы и заполнить массив правильно, можно использовать следующую формулу:

array[i][j] = abs(j - i)

Где array - двумерный массив, i и j - индексы элемента.

Функция abs используется для получения абсолютного значения разности j и i, чтобы не получать отрицательных значений.

Пример использования этой формулы для массива размерности 5x5:

array[0][0] = abs(0 - 0) = 0 array[0][1] = abs(1 - 0) = 1 array[0][2] = abs(2 - 0) = 2 array[0][3] = abs(3 - 0) = 3 array[0][4] = abs(4 - 0) = 4

array[1][0] = abs(0 - 1) = 1 array[1][1] = abs(1 - 1) = 0 array[1][2] = abs(2 - 1) = 1 array[1][3] = abs(3 - 1) = 2 array[1][4] = abs(4 - 1) = 3

array[2][0] = abs(0 - 2) = 2 array[2][1] = abs(1 - 2) = 1 array[2][2] = abs(2 - 2) = 0 array[2][3] = abs(3 - 2) = 1 array[2][4] = abs(4 - 2) = 2

array[3][0] = abs(0 - 3) = 3 array[3][1] = abs(1 - 3) = 2 array[3][2] = abs(2 - 3) = 1 array[3][3] = abs(3 - 3) = 0 array[3][4] = abs(4 - 3) = 1

array[4][0] = abs(0 - 4) = 4 array[4][1] = abs(1 - 4) = 3 array[4][2] = abs(2 - 4) = 2 array[4][3] = abs(3 - 4) = 1 array[4][4] = abs(4 - 4) = 0

Таким образом, в результате выполнения данной формулы массив будет заполнен необходимыми значениями, и отрицательные значения не будут присутствовать.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос