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

вопрос по паскалю, базовый уровень.

в задаче мне нужно ввести две переменные - по-сути массив и количество его "ячеек". то есть: мне нужно ввести количество дней и на каждый из этих дней количество задач, которое решили ученики. например:


5

6, 5, 8, 3, 2


я обьявляю массив в паскале, который по-сути, обозначается как

var Z: array [1 . . N] of integer (где N - это количество дней). в итоге я написала так:


var N:integer;

var Z: array [1 . . N] of integer;


но прога выдает ошибку и пишет, что N должна быть константой! а как я ему напишу ее константное значение, если я его сама не знаю? я же собиралась его в программе вводить. в чем ошибка, что делать?


NarutoUdzumakN: Ты хочешь что бы ты вводил число в масив? и тебе выводилось (7,6,5,4,3,2,1} если ввел 7

Ответы

Автор ответа: Puz1koO
1

Вы используете статический массив, размерность которого указывается изначально, и она не изменится на протяжении всей программы. Программа выдает ошибку, тк [1..n] не очень указывает рамки. N должна объявляться не в var, как переменна, а перед, как константа const.

Результат:

const n=5;

var z: array [1..n] of integer;

Существует еще динамический массив, который может менять размерность в процессе работы программы. Советую самостоятельно изучить материал в полном объёме.

Похожие вопросы