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

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

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

Nik23218 Nik23218    1   15.04.2020 22:20    0

Ответы
dobromirovamar dobromirovamar  13.10.2020 08:04

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

Результат:

const n=5;

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

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

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика