Помощь - Поиск - Пользователи - Календарь
Полная версия: Массив записей
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
-=АнЮтА=-
    Program mas_rec;
uses crt;
type rec=record
nam:string[20];
snam:string[15];
nom:integer;
end;
var zap:rec;
i,n:integer;
m:array[1..n] of zap;
begin
end.

При такой форме записи ругается на неизвестное n. Сама понимаю что в записи ошибка, но как сделать возможность n-мерного массива не могу дотумкать...подскажите плз.... blink.gif
volvo
Ругается как раз не на неизвестное n, а на то, что n - не константа...

Program mas_rec;
uses crt;
type
rec=record
nam:string[20];
snam:string[15];
nom:integer;
end;

const n = 10;
var
zap:rec;
i:integer;
m:array[1..n] of zap;

begin
end.


Ругаться не будет...

P.S.
Кстати, это не n - мерный массив, а одномерный, но длинны n
-=АнЮтА=-
Так я делала. Прошу прошения, неверно сформулировала вопрос. N хочу вводить с клавиатуры. Так ск-ть регулировать длину массива.
volvo
Ну, тогда тебе надо динамический массив:

{$R-}
type
rec=record
nam:string[20];
snam:string[15];
nom:integer;
end;

pmy_array = ^my_array;
my_array = array[1 .. 1] of rec;

var
dyn_array: pmy_array;

begin
readln(n);
getmem(dyn_array, n * sizeof(rec));

{ работать так: }
dyn_arr^[1].nam := ...

{ удалять после окончания работы: }
freemem(dyn_array, n * sizeof(rec));
end.

-=АнЮтА=-
Спасибо) Думаю мне пригодицца)) give_rose.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.