// calculate the coefficient, //Data : Array[0..30, 0..6] of Double
procedure CalCoef(Data : Array of Double);
var i, j, k : Integer;
begin
try
sump := 0.0;
sumt := 0.0;
//
for i := 0 to 2 do
begin
for j := 0 to 5 do
begin
for k := j*4 to j*4+3 do
begin
sump := sump + Data[k,i+4];
sumt := sumt + Data[k,0];
end;
end;
end;
sump := sump + Data[k,i+4]; 这句话提示错误Array Type Required,
我想应该是没设置数组维数的原因,看了下帮助没看明白。
Data应该是31X7的数组
procedure CalCoef(Data : Array of Double);
var i, j, k : Integer;
begin
try
sump := 0.0;
sumt := 0.0;
//
for i := 0 to 2 do
begin
for j := 0 to 5 do
begin
for k := j*4 to j*4+3 do
begin
sump := sump + Data[k,i+4];
sumt := sumt + Data[k,0];
end;
end;
end;
sump := sump + Data[k,i+4]; 这句话提示错误Array Type Required,
我想应该是没设置数组维数的原因,看了下帮助没看明白。
Data应该是31X7的数组
TDoubleArray = array of Double;
procedure CalCoef(Data : Array of TDoubleArray );
Tfoo = array of array of Double
或
Tfoo = array of array[0..6]of Double
再用Tfoo作参数声明
type
TDualDoubleArray = array of array of Double;
procedure CalCoef(Data : TDualDoubleArray );
#include <iostream>
using namespace std;
void fun(int a[][3])
{
}
int main(void)
{
/*方法一, 指向一维数组的指针*/
int a[3] = {0};
int (*b)[3] = &a;
fun(b);
/*方法二,直接调用*/
int c[][3] = {0};
fun(c);
return 0;
}type
ArrayType = array[0..3] of Integer;
pArray = ^ArrayType;var
ArrayType1: ArrayType;
Array_pointer: pArray;
J: Integer;
begin
for J := 0 to High(ArrayType1) do
ArrayType1[j] := j;
Array_pointer := @ArrayType1;
fun(Array_pointer^);
end;//显示二维数组内容
procedure fun(Test: array of ArrayType);
var
I, J: Integer;
begin
for I := 0 to High(Test) do
for J := 0 to High(ArrayType) do
ShowMessage(IntToStr(Test[I,J]));
end;
應該是自定義成一個新的數據類型,
好像 pByte = array of Byte :)
这个可以,我时这么用的
function Find(A: TDynamicCharArray): Integer;