我有8个数字1、2、3、4、5、6、7、8
现在有一个二维数组a[0..1][0..3]。
我想通过程序,把上述的8个数字放到数组里面。规则是
a[0][0]:=1;a[0][1]:=2……最后的效果:1 2 3 4
5 6 7 8我的算法如下:
var
i,j,k:integer;
begin
for k:=1 to 8 do
begin
i:=k div 4;
j:=(k mod 4)-1;
a[i][j]:=k;
end;//for kend;这个算法有问题,如果是k=4,i=1,j=-1,这样4就存放到了a[1][-1]:=4;出错了。而我希望a[0][3]:=4;
后来,我就加了语句,判断i和j的值,如果j:=-1就让i:=i-1;j:=3,var
i,j,k:integer;
begin
for k:=1 to 8 do
begin
i:=k div 4;
j:=(k mod 4)-1;
case j of
-1:begin
i:=i-1;
j:=3;
end;
end;
a[i][j]:=k;
end;//for kend;好土啊。谁有好的算法。小弟实在是笨的不行了。
现在有一个二维数组a[0..1][0..3]。
我想通过程序,把上述的8个数字放到数组里面。规则是
a[0][0]:=1;a[0][1]:=2……最后的效果:1 2 3 4
5 6 7 8我的算法如下:
var
i,j,k:integer;
begin
for k:=1 to 8 do
begin
i:=k div 4;
j:=(k mod 4)-1;
a[i][j]:=k;
end;//for kend;这个算法有问题,如果是k=4,i=1,j=-1,这样4就存放到了a[1][-1]:=4;出错了。而我希望a[0][3]:=4;
后来,我就加了语句,判断i和j的值,如果j:=-1就让i:=i-1;j:=3,var
i,j,k:integer;
begin
for k:=1 to 8 do
begin
i:=k div 4;
j:=(k mod 4)-1;
case j of
-1:begin
i:=i-1;
j:=3;
end;
end;
a[i][j]:=k;
end;//for kend;好土啊。谁有好的算法。小弟实在是笨的不行了。
解决方案 »
- delphi怎么生成dll文件?
- 问个关于可串行化的作业题
- 消息触发中,用WM_APP和用WM_USer有什么分别?
- 文件操作小问题:我用append方法向*.txt文件中插入记录。请问怎样插入回车啊?我要把记录分开!
- 寻找一篇关于TWebbrowers控件应用的文章?
- 请问如何将stringgrid中的内容按表格形式保存下来?
- 请教一下:这个表的查询怎么用语句实现?
- delphi 中实时检查文件大小
- perform(WM_SYSCOMMAND,param,param)的问题
- delphi6如何用net平台的dll
- 什么时候将数据源设置在系统DSN中什么时候设置在用户DSN中?
- 请问:除了ExpressQuantumGrid 的CXGRID外还有哪个DBGRID有分组编辑,显示工能?3Q
begin
i:=k div 4;
j:=k mod 4;
a[i][j]:=k;
end;
i,j,k:integer;
begin
for k:=1 to 8 do
begin
i:=(k-1) div 4;
j:=(k-1) mod 4;
a[i][j]:=k;
end;//for kend;
这样好像可以。
begin
i:=k div 4;
j:=k mod 4;
a[i][j]:=k+1;//这里要加1,就对了
end;