вопрос по паскалю, базовый уровень.
в задаче мне нужно ввести две переменные - по-сути массив и количество его "ячеек". то есть: мне нужно ввести количество дней и на каждый из этих дней количество задач, которое решили ученики. например:
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 должна быть константой! а как я ему напишу ее константное значение, если я его сама не знаю? я же собиралась его в программе вводить. в чем ошибка, что делать?
Answers & Comments
Вы используете статический массив, размерность которого указывается изначально, и она не изменится на протяжении всей программы. Программа выдает ошибку, тк [1..n] не очень указывает рамки. N должна объявляться не в var, как переменна, а перед, как константа const.
Результат:
const n=5;
var z: array [1..n] of integer;
Существует еще динамический массив, который может менять размерность в процессе работы программы. Советую самостоятельно изучить материал в полном объёме.