1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
Как надо написать в var'e, когда необходимо выделить некоторое количество ячеек для массива?
Код
var a:array[1..?] of integer; ...
write('kakoe koli4estvo simvolov bydet v massive'); readln(n);
for i:=1 to n do {zapolnenie masiva lyubym sposobom}
Если место ? написать n, вылетает ошибка, тогда что должно быть место вопросительного занка? Нельзя же просто писать максимальную цифру от фонаря, типа 9999?
var a:array[1..?] of integer; ... write('kakoe koli4estvo simvolov bydet v massive'); readln(n); for i:=1 to n do {zapolnenie masiva lyubym sposobom}
Если место ? написать n, вылетает ошибка, тогда что должно быть место вопросительного занка? Нельзя же просто писать максимальную цифру от фонаря, типа 9999?
Ошибка не вылетит, если написать так:
const m= 100; var a: array[1..m]of integer;
- а в программе допускать использование только тех значений n, которые не превосходят m. m при этом - константа, ее изменять нельзя. Это позволяет сделать программу немного проще изменяемой, но вообще-то проблемы не решает. Если ты хочешь выделять под массив ровно столько памяти, сколько нужно, то есть, грубо говоря, два способа: 1. использовать динамическую память; 2. использовать динамические массивы. Насколько я помню (давно ТР не запускал уже), динамических массивов (то есть п.2) в ТурбоПаскале нет. Есть же они, например, в FreePascal. Поэтому, вопрос: что конкретно ты используешь? Добавлю, что способ 1 посложнее в понимании, и в нем больше писанины, но он предоставляет практически полные возможности по управлению памятью. Способ 2 предоставляет более высокий уровень, он скрывает манипуляции с памятью (компилятор берет их на себя); во многих случаях он удобнее.
--------------------
я - ветер, я северный холодный ветер я час расставанья, я год возвращенья домой