数组赋值问题!!(50分)

  • 主题发起人 主题发起人 xiaoyue_a
  • 开始时间 开始时间
X

xiaoyue_a

Unregistered / Unconfirmed
GUEST, unregistred user!
我定义了一个二维数组比如 matrix : array[0..9] of array[0..9] fo Integer;
让后又定义了一个一维数组比如 row: array[0..9] of Integer;
我想把matrix的一行付给row,使用语句row := matrix[0];不对
除了使用循环一个元素一个元素地赋值有没有更好的方法啊?
大家指教一下!!!
 
晕,本来就是用下标定位嘛,不用循环还用什么。。。
还是等高手看吧。。。
 
pi: PInteger;
pi := @row[0]
for i := low(matrix[0]) to high(matrix[0]) do //比直接赋值快,如果你熟悉指针,就知道,少了计算索引的时间
begin
pi^ := matrix[0];
inc(pi);
end;
 
type
kind= array[0..9] of integer;

var
matrix : array[0..9] of array[0..9] of Integer;
row: kind;
begin
..
row:=kind(matrix[0]); //这样就可以
..
end;
 
zuodan: 你说的这个方法,我怎么调试不通啊!!提示:Invalid typecast。
 
type
trow = array[0..9] of Integer;
tmatrix = array[0..9] of trow;
var
matrix : tmatrix;
row : trow;
begin
row := matrix[0];

end;
 
我这里不会啊
 
zuodan的方法没问题。
出现Invalid typecast,你检查下kind的类型定义与kind(matrix[0])一致
 
谢谢各位指点!!!!
 
多人接受答案了。
 
后退
顶部