массивы в pascal



Автор Алексей =) задал вопрос в разделе Другие языки и технологии

Паскаль и получил лучший ответ

Ответ от Аццкий скорпиончег[гуру]
Создать собственный тип:
type mas = array [0..20] of String;
var a: mas;
procedure readF(x: mas);
....
readF(a);

Ответ от Мир[новичек]
нет

Ответ от Виктор Фадеев[гуру]
При описании процедур и функций в заданиях данной подгруппы необходимо учитывать особенности, связанные с передачей массивов в качестве параметров. Для одномерных параметров-массивов рекомендуется использовать механизм открытых массивов, введенный в Borland Pascal 7.0. Для двумерных массивов-матриц подобный механизм использовать нельзя, поэтому предварительно требуется определить соответствующий пользовательский тип, который в дальнейшем использовать при описании параметров-матриц. Входные параметры-массивы обычно не описывают как параметры-значения, поскольку это приводит, как правило, к неоправданному расходу памяти. Если массив в ходе выполнения процедуры/функции не изменяется, его нужно описать как параметр- константу, а если изменяется, то как параметр-переменную.
ссылка. ru/TeorDelphi/PeredachmassivovDelphi/index.html

Ответ от *МАИС*[гуру]
да спомши
type vec:=array[0..20]of string;
procedure readF(a:vec);

Ответ от Krab Bark[гуру]
В Pascal принято, что идентичность типов массивов определяется не по их характеристикам, а по появлению в одном описании. То есть при описании a,b:array[1..5]of real; массивы a и b одного типа, а при описании a:array[1..5]of real; a:array[1..5]of real; - разного.
А массив одного типа не приводится к массиву другого типа. Поэтому надо или использовать предварительное описание типа:
type mas=array[1..5]of real; var a:mas; b:mas; даст массивы одного типа, или использовать обходные пути - во всех компиляторах предусматривается возможность как-то обойти это ограничение стандарта Паскаля, но в разных - по-разному. В Turbo Pascal, например, можно использовать введенное в нем расширение "открытые массивы", тогда заголовок процедуры будет выглядеть так:
procedure readF(a:array of string)
Открытый массив считается совместимым с любым одномерным массивом, но индексы в открытом массиве (в процедуре) считаются всегда с нуля, какими бы они ни были в массиве-фактическом параметре. В том же Turbo Pascal есть, впрочем, и другие, менее удобные, способы.

Ответ от 22 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Паскаль
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*