![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Передача двумерного массива в метод класса.
Sin © (2007-10-24 09:25:00)Подобный вопрос обсуждался http://www.delphimaster.ru/cgi-bin/forum.pl?id=1191862496&n=18, однако хотелось бы узнать можно ли передать двумерный массив в класс расположенный в другом unit'е.
Sin (2007-10-24 10:23:00) [1];) СПАСИБО!
Сергей М. (2007-10-24 10:21:00) [2]
function MyClass.MySum(N: integer; mas: TMyMatrix): TArray;
var
i,j : integer;
sum : double;
begin
SetLength( Result, N);} // нужно !!!!!
for i := 0 to N - 1do
begin
sum := 0;
for j := 0 to N - 1do
sum := sum + mas[i,j];
Result[i] := sum;
end;
end;
Sin (2007-10-24 10:09:00) [3]Спасибо, получилось. Поскажите еще, пожалуйсто, как в этом случае можно "вернуть" одномерный массив. Что-то уменя ошибка появляется...
// класс
type
TArray = array of double;
TMyMatrix = array of TArray;
MyClass = class
private
public
function MySum(N: integer; mas: TMyMatrix): TArray;
end;
implementation
function MyClass.MySum(N: integer; mas: TMyMatrix): TArray;
var
i,j : integer;
sum : double;
begin
{ SetLength(MySum,N);} // нужно ли это делать???
for i := 0 to N do
begin
sum := 0;
for j := 0 to N do sum := sum + mas[i,j];
MySum[i] := sum; // здесь ошибка...
end;
end;
// программа
procedure TForm1.Button1Click(Sender: TObject);
var
a : TArray;
b : integer;
c : TMyMatrix;
begin
b := 2;
SetLength(c,2,2);
c[0,0] := 1;
c[0,1] := 2;
c[1,0] := 1;
c[1,1] := 2;
a := t.MySum(b,c);
end;
Kolan (2007-10-24 09:33:00) [4]> Может подскажете как
TMyMatrix = array of array of Integer;
procedure Proc(Arr: TMyMatrix);
?
Sin (2007-10-24 09:32:00) [5]У меня появляется несоответствие Array and Dynamic array.
Sin (2007-10-24 09:31:00) [6]Может подскажете как, при условии массив должен быть динамическим.
Сергей М. (2007-10-24 09:29:00) [7]Причем по барабану мерность массива и местонахождение декларации класса.
MBo (2007-10-24 09:28:00) [8]конечно, можно
Сергей М. (2007-10-24 09:28:00) [9]Можно.