Цитата:
Сообщение от Linka
Владимир, а почему во второй программе, вы не сделали так:
Код:
A:ARRAY[1..Nl,1..Nc] of WORD;
с последующим вводом Nl и Nc с клавиатуры ? А сначала поставили ограничения в 10 элементов ?
|
А потому что Паскаль такого не допускает. В свое время (много-много лет назад) это для меня было сильным разочарованием - я перешел на Паскаль с языка, в котором подобные конструкции были в порядке вещей. Потом привык.
Что же можно?
1. Определить диапазон массива явно, как сделано в программе. Если длина массива наперед не известна, то нужно взять верхнюю границу "с запасом", благо современные компьютеры это позволяют. Почему 10? А с потолка. Ну то есть не совсем - хотелось, чтобы матрица помещалась на экране в DOS-моде.
2. Задать числа (Nl, Nc) в виде КОНСТАНТ. И только констант. Тогда появится несколько большая свобода, но всё равно, чтобы изменить значения этих чисел, придется лазать в текст программы, а потом перетранслировать.
Вот так. А больше - никак. Ну если, конечно, не лезть в динамические переменные, указатели и т.п. Но это - совсем другая кухня.