这是一个动态数组问题 可以编译通过就是执行是出了问题:
提示: MyArray[i][j] = 1
大家看看 是为什么 delphi 的动态数组到底怎么实现 如何实现?
var
MyArray:array of array of integer;
row, col, i, j:integer;
str:string;
begin
str := ;
row := strtoint(YangHuiForm.YangHuiEdit.text);
col := row;
Setlength(MyArray,row,col);
for i := 1 to row do
for j := 1 to col do
问题在这里: MyArray[i][j] := 0;
MyArray[1][1] := 1;
MyArray[2][1] := 1;
MyArray[2][2] := 1;
for i := 3 to row do
begin
MyArray[i][1] := 1;
for j := 2 to col do
begin
MyArray[i][j] := MyArray[i - 1][j - 1] + MyArray[i - 1][j];
end;
end;
for i := 1 to row do
begin
for j := 1 to col do
if MyArray[i][j] = 0 then
YangHuiForm.YangHuiMemo.Lines.Add()
else
begin
str := inttostr(MyArray[i][j]) + str + ;
YangHuiForm.YangHuiMemo.Lines.Add(str);
end;
YangHuiForm.YangHuiMemo.Lines.Add();
end;
end;
for i := 0 to row-1 do
for j := 0 to col-1 do
MyArray[i][j] := 0;
数组的标号是从零开始的