我有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板块为何不增加“FireMonkey体系开发”的板块?
- 请教各位大虾连表更新问题.
- 回调的问题,请高手帮帮忙。
- 请教,如何实现一个可功能扩展的媒体播放器?
- 一个进度带问题,windows高手请进
- 白拿分!
- 好象每次转移贴子就要减掉一分信 誉 值??????:(
- To zswang(伴水)(被黑中) 大家都可以来呀,解决一个小问题
- 100分求购fastreport 2.3的控件(带源码)
- 谁开发过GOLF会员俱乐部管理系统或谁用过除远古系统以外的?????
- 什么时候将数据源设置在系统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;