Паскаль форева!

logan00108

Напомните человеку, 4 года назад забывшему Паскаль, почему BP7 на такую строчку
Procedure Massiveresize(Ain:array[1..3, 1..3, 1..10] of real, Aout:array[1..3,1..30] of real);
ругается
Error 54: OF expected.
Я уже 2 года фортраном занимаюсь, прошу извинить за ламерство.

okunek

помоему, нужно так:
>>Procedure Massiveresize(Ain:array of real, Aout:array of real);

logan00108

Это всё хорошо, но я хочу размерности массивов разные и именно такие как написано.

okunek

ну дык создай в теле процедуры массивы, которые тебе нужны (с нужными границами) и сделай, чтоб они указывали на ain и aout

logan00108

Хм. А разве при компиляции этой процедуры Ain и Aout сразу не создадутся одномерными по умолчанию? Или я глючу...
Мне к сожалению проверить пока никак. Программа здоровенная, ломает писать ещё и проверялку для процедуры.

okunek

дык они все одномерные.
и многомерные - тоже одномерные
я уже паскаля не помню, но можешь еще попробовать создать два новый типа для этих двух массивов и передавать в функцию указатели на них.
тогда с ними можно будет работать как надо.

marriaje

Надо type definition в начале программы сделать.
program Programname;
uses crt;
type ar=array [1..10,1..10] of integer;
.....
function FuncName(a:ar):longint;
.....

logan00108

Ааааа, а менее геморно низзя? А то я созданием типов никогда не занимался, а ботать маны неохота.

logan00108

Куль. Всё так просто? Сейчас проверю...

okunek

вот, товарищ gimli это тебе и сделал

admyral

Менее геморрно нельзя. Пример возьми из предыдущего поста Гыма

logan00108

type
big=array[1..3,1..3,1..10] of real;
resize=array[1..3,1..30] of real;
.......
Procedure Massiveresize(Ain:big,Aout:resize);
Error 89: ")" expected.

okunek

вместо запятой между переменными - ;

logan00108

Thanx. Третий час геморроя пошел. Совсем глюки уже...
ЗЫ. А случайно в Massiveresize(Ain:array[1..3, 1..3, 1..10] of real, Aout:array[1..3,1..30] of real); не надо было точку с запятой ставить?

admyral

Надо было, но все равно не помогло бы

logan00108

Всё равно big thnx!
Оставить комментарий
Имя или ник:
Комментарий: