关于数组的问题(20分)

  • 主题发起人 主题发起人 wp231957
  • 开始时间 开始时间
W

wp231957

Unregistered / Unconfirmed
GUEST, unregistred user!
现在我有一组一维数组
分别为a[],b[],c[],,,,等等
我现在想遍历所有的数组,不知道该怎么做

因为 比如 第一个为 a[1] 进入下一重循环时,就是B[1]了,由A-B是ASCII值加了1
但是不知道如何表示,
最后类似 CHR(ORD(A)+1)[1]的形式
 
改用二维数组吧
 
可是我的数组元素不固定啊
比如A[]里面是1个元素 B[]里有2个元素 C[]里有3个元素,.............等等
 
type
AOfarray=array[0..9] of string;
var
i:integer;
A:AOfarray;
begin
for i:=0 to 9
A:=i;
end;
不知道你书不是这个意思!
 
比如:
const b:array[1..2] of integer=(45,63);
const c:array[1..3] of integer=(75,9,91);
const d:array[1..4] of integer=(15,72,84,86);
const e:array[1..5] of integer=(88 ,02 ,72 ,19 ,22);
const f:array[1..6] of integer=(28 ,35 ,37 ,80 ,41 ,57);

我想在BCDEF之间进行比较计算,但是BCDEF又不能靠手工来指定,
要靠循环来指定数组的名称
假如:
FOR I:=1 TO 5 DO
数组[1]=[数组+1][1] 实际没这个代码
我就是想实现类似 B[1]=C[1]
 
楼主的设计方式、解决方法本身似乎存在问题
 
那该如何设计呢,请指教
 
先详细说说要实现什么吧
 
const b:array[1..2] of integer=(45,63);
const c:array[1..3] of integer=(75,9,91);
const d:array[1..4] of integer=(15,72,84,86);
const e:array[1..5] of integer=(88 ,02 ,72 ,19 ,22);
const f:array[1..6] of integer=(28 ,35 ,37 ,80 ,41 ,57);
if b[1] then max(c1,c2)
if b[2] then max(c2,c3)
max(c1,c2)
if c[1] then max(d1,d2)
if c[2] then max(d1,d2)
max(d2,d3)
if c[3] then max(d2,d3)
max(d3,d4) 等等
 
使用动态二维数组即可
aa:array of array of integer;
begin
setlength(aa,3);
 setlength(aa[0],2);
setlength(aa[1],3);
setlength(aa[2],2);

使用时
for i := 0 to High(aa) do
for j:=0 to high(aa[j]) do
........
 
使用动态二维数组即可
aa:array of array of integer;
begin
setlength(aa,3);
 setlength(aa[0],2);
setlength(aa[1],3);
setlength(aa[2],2);

使用时
for i := 0 to High(aa) do
for j:=0 to high(aa[j]) do
........

那初始化该如何做呢,一个一个的赋值吗,我可有几百个数据呢
 
多人接受答案了。
 
后退
顶部