Нужно передать двумерный массив в функцию.
program ...;
const
N=...;
var ...;mass:array[1..N,1..N]of integer;
type t2=array[1..N,1..N]of integer;function abc(a:array of t2);
begen
...;
end;begin{main}
...;
abc(mass); {Вот тут то и возникает проблема}
...;
end.Если в качестве параметра передавать mass то возникает ошибка "недопустимый тип".
Возможно надо mass както подругому объявлять? Помогите пожалуйста. Заранее спасибо.
>mass:array[1..N,1..N]of integer;
>type t2=array[1..N,1..N]of integer;
>
>function abc(a:array of t2);
>...;
>abc(mass); {Вот тут то и возникает проблема}
>...;
>
>Если в качестве параметра передавать mass то возникает ошибка "недопустимый тип".
>Возможно надо mass както подругому объявлять? Помогите пожалуйста. Заранее спасибо.Форумом случайно не ошиблись? Где здесь Web технологии?
А по существу - функция требует трехмерный массив (array of t2), а получает двумерный (mass), так что удивляться нечему.
>Форумом случайно не ошиблись? Где здесь Web технологии?
Я просто не знал куда дернуться, а паскаль к делфи ближе во и подумал...>А по существу - функция требует трехмерный массив (array of t2), а
>получает двумерный (mass), так что удивляться нечему.А не подскажете как это будет выглядеть?
И почему массив трехмерный, объявлен то вроде как двумерный.
>>Форумом случайно не ошиблись? Где здесь Web технологии?
>Я просто не знал куда дернуться, а паскаль к делфи ближе во
>и подумал...Понятнее не стало :) Причем тут Делфи?
>>А по существу - функция требует трехмерный массив (array of t2), а
>>получает двумерный (mass), так что удивляться нечему.
>
>А не подскажете как это будет выглядеть?
>И почему массив трехмерный, объявлен то вроде как двумерный.t2=array[1..N,1..N]of integer ~ t2 есть двумерный массив целых чисел
array of t2 ~ массив из t2, т.е. массив из двумерных массивов целых чисел, т.е. трехмерный массив
Как это будет выглядеть, представляю с трудом, потому что во-первых не знаю, для чего это нужно, а во-вторых, на Паскале не писал с турбопаскакальных досовских времен. Может быть так:
...
type t2 = array[1..N, 1..N] of integer;
var mass : t2;
function abc(a : t2); {но может быть все-таки procedure?}
...
begin
...
abc(mass);
...
end.
Нет, задача поставлена именно в функцию. И такой способ тож не работает. Жаль. Все равно спасибо.
Очень просто все!
передавать надо указатель на массив - и паскаль возрадуется что ты до этого доехал! ;)
знаешь, надеюсь, как указатель делать-то?Ну, например:
type TMas = array[1..N] of integer;
PMas = ^TMas;function foo(mas:PMas):word;
begin
mas^[i] := 1234;
//...
end;var mas: TMas;
begin
foo(@mas);
end.Должно, работать. Указателей боятся не надо!
>знаешь, надеюсь, как указатель делать-то?
>Должно, работать. Указателей боятся не надо!Я программирую на си и что такое указатели прекрасно знаю, просто родственница попросила написать лабораторку (на паскале), пришлось учить синтаксис практически с нуля. Лабораторная уже написана, большое, всем кто откликнулся, и вам в частности, спасибо.