Форум: "Начинающим";
Текущий архив: 2007.11.18;
Скачать: [xml.tar.bz2];
ВнизПередача двумерного массива в метод класса. Найти похожие ветки
← →
Sin © (2007-10-24 09:25) [0]Подобный вопрос обсуждался http://delphimaster.net/view/2-1191862496/, однако хотелось бы узнать можно ли передать двумерный массив в класс расположенный в другом unit"е.
← →
MBo © (2007-10-24 09:28) [1]конечно, можно
← →
Сергей М. © (2007-10-24 09:28) [2]Можно.
← →
Сергей М. © (2007-10-24 09:29) [3]Причем по барабану мерность массива и местонахождение декларации класса.
← →
Sin © (2007-10-24 09:31) [4]Может подскажете как, при условии массив должен быть динамическим.
← →
Sin © (2007-10-24 09:32) [5]У меня появляется несоответствие Array and Dynamic array.
← →
Kolan © (2007-10-24 09:33) [6]> Может подскажете как
TMyMatrix = array of array of Integer;
procedure Proc(Arr: TMyMatrix);
?
← →
Sin © (2007-10-24 10:09) [7]Спасибо, получилось. Поскажите еще, пожалуйсто, как в этом случае можно "вернуть" одномерный массив. Что-то уменя ошибка появляется...
// класс
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;
← →
Сергей М. © (2007-10-24 10:21) [8]
function MyClass.MySum(N: integer; mas: TMyMatrix): TArray;
var
i,j : integer;
sum : double;
begin
SetLength(Result, N);} // нужно !!!!!
for i := 0 to N - 1 do
begin
sum := 0;
for j := 0 to N - 1 do
sum := sum + mas[i,j];
Result[i] := sum;
end;
end;
← →
Sin © (2007-10-24 10:23) [9];) СПАСИБО!
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.11.18;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 3.455 c