【虚心请教】数组的(非常规格式)输出问题,请高手赐教

时间:2020-12-25 09:19:05
二维数组 m(x,y),(注:0<x<9999,y=9)
取值范围:
"x"为自然数(递增)序列号,如:0001,0002,0003,0004,....
"y"为单字符,取值范围在a-z之间,y1-y9不存在相同的值,且顺序递增

比如:
m(01,1)=c,m(01,2)=g,m(01,3)=j,m(01,4)=o,m(01,5)=r,m(01,6)=s,m(01,7)=u,m(01,8)=x,m(01,9)=z,
m(02,1)=d,m(02,2)=f,m(02,3)=i,m(02,4)=l,m(02,5)=o,m(02,6)=r,m(02,7)=u,m(02,8)=y,m(02,9)=z,
m(03,1)=b,m(03,2)=c,m(03,3)=g,m(03,4)=j,m(03,5)=m,m(03,6)=p,m(03,7)=u,m(03,8)=w,m(03,9)=y,
m(04,1)=a,m(04,2)=b,m(04,3)=d,m(04,4)=i,m(04,5)=q,m(04,6)=u,m(04,7)=w,m(04,8)=y,m(04,9)=z,
m(05,1)=a,m(05,2)=d,m(05,3)=i,m(05,4)=l,m(05,5)=m,m(05,6)=u,m(05,7)=v,m(05,8)=w,m(05,9)=x,
m(06,1)=b,m(06,2)=e,m(06,3)=h,m(06,4)=k,m(06,5)=n,m(06,6)=o,m(06,7)=s,m(06,8)=x,m(06,9)=z,
m(07,1)=f,m(07,2)=g,m(07,3)=k,m(07,4)=o,m(07,5)=q,m(07,6)=u,m(07,7)=v,m(07,8)=x,m(07,9)=y,
m(08,1)=e,m(08,2)=f,m(08,3)=i,m(08,4)=l,m(08,5)=m,m(08,6)=n,m(08,7)=p,m(08,8)=t,m(08,9)=v,
m(09,1)=a,m(09,2)=b,m(09,3)=c,m(09,4)=d,m(09,5)=m,m(09,6)=o,m(09,7)=p,m(09,8)=r,m(09,9)=s,
m(10,1)=a,m(10,2)=f,m(10,3)=h,m(10,4)=i,m(10,5)=n,m(10,6)=r,m(10,7)=t,m(10,8)=y,m(10,9)=z,
m(11,1)=b,m(11,2)=c,m(11,3)=f,m(11,4)=j,m(11,5)=m,m(11,6)=o,m(11,7)=u,m(11,8)=w,m(11,9)=x,
m(12,1)=c,m(12,2)=g,m(12,3)=k,m(12,4)=p,m(12,5)=s,m(12,6)=u,m(12,7)=w,m(12,8)=x,m(12,9)=y,
m(13,1)=c,m(13,2)=e,m(13,3)=j,m(13,4)=o,m(13,5)=r,m(13,6)=t,m(13,7)=v,m(13,8)=y,m(13,9)=z,
m(14,1)=b,m(14,2)=d,m(14,3)=f,m(14,4)=g,m(14,5)=h,m(14,6)=m,m(14,7)=n,m(14,8)=o,m(14,9)=p,
m(15,1)=d,m(15,2)=g,m(15,3)=i,m(15,4)=p,m(15,5)=u,m(15,6)=w,m(15,7)=x,m(15,8)=y,m(15,9)=z,
m(16,1)=a,m(16,2)=e,m(16,3)=j,m(16,4)=n,m(16,5)=p,m(16,6)=r,m(16,7)=t,m(16,8)=v,m(16,9)=x,
m(17,1)=e,m(17,2)=f,m(17,3)=g,m(17,4)=j,m(17,5)=l,m(17,6)=n,m(17,7)=p,m(17,8)=t,m(17,9)=u,
m(18,1)=g,m(18,2)=i,m(18,3)=l,m(18,4)=q,m(18,5)=s,m(18,6)=u,m(18,7)=w,m(18,8)=x,m(18,9)=z,
m(19,1)=b,m(19,2)=g,m(19,3)=h,m(19,4)=i,m(19,5)=k,m(19,6)=l,m(19,7)=n,m(19,8)=u,m(19,9)=y,
m(20,1)=a,m(20,2)=d,m(20,3)=j,m(20,4)=k,m(20,5)=l,m(20,6)=m,m(20,7)=s,m(20,8)=t,m(20,9)=x,

(注:也可以将a-z替换成 01-26,符合取值规则就行)

============================================================
常见的排列格式是这样的:
垂直坐标为递增的序列号
水平坐标为a-z共26个位置,不存在的取值用"."填充
|------|----------------------------------------------------|
|序列号|a b c d e f g h i j k l m n o p q r s t u v w x y z |
|------|----------------------------------------------------|
|000001|. . c . . . g . . j . . . . o . . r s . u . . x . z |
|000002|. . . d . f . . i . . l . . o . . r . . u . . . y z |
|000003|. b c . . . g . . j . . m . . p . . . . u . w . y . |
|000004|a b . d . . . . i . . . . . . . q . . . u . w . y z |
|000005|a . . d . . . . i . . l m . . . . . . . u v w x . . |
|000006|. b . . e . . h . . k . . n o . . . s . . . . x . z |
|000007|. . . . . f g . . . k . . . o . q . . . u v . x y . |
|000008|. . . . e f . . i . . l m n . p . . . t . v . . . . |
|000009|a b c d . . . . . . . . m . o p . r s . . . . . . . |
|000010|a . . . . f . h i . . . . n . . . r . t . . . . y z |
|000011|. b c . . f . . . j . . m . o . . . . . u . w x . . |
|000012|. . c . . . g . . . k . . . . p . . s . u . w x y . |
|000013|. . c . e . . . . j . . . . o . . r . t . v . . y z |
|000014|. b . d . f g h . . . . m n o p . . . . . . . . . . |
|000015|. . . d . . g . i . . . . . . p . . . . u . w x y z |
|000016|a . . . e . . . . j . . . n . p . r . t . v . x . . |
|000017|. . . . e f g . . j . l . n . p . . . t u . . . . . |
|000018|. . . . . . g . i . . l . . . . q . s . u . w x . z |
|000019|. b . . . . g h i . k l . n . . . . . . u . . . y . |
|000020|a . . d . . . . . j k l m . . . . . s t . . . x . . |
|000021|
|000022|                                                    
如果写段代码,自动实现上面这样的排列格式,很容易
============================================================

需要解决的问题如下:

如果以45度斜上递增格式,自动输出数组的数据
并且下一序列号的数组起始显示的数据,先递减一后再斜上输出,
被递减的内容接在该数组的最后补全,以此类推

具体的排列格式如下图:

--|/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/z/|
--|/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/././|
--|/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/x/z/b/|
--|/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/./y/././|
--|/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/././z/b/d/|
--|/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/u/./y/a/./e/|
--|/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/./././z/././f/|
--|/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/s/u/./y/a/./././|
--|/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/r/././././b/./f/./|
--|/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/././u/w/./././e/./i/|
--|/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/./r/././x/z/./././h/j/|
--|/-/-/-/-/-/-/-/-/-/-/-/-/-/-/o/././u/w/././././././k/|
--|/-/-/-/-/-/-/-/-/-/-/-/-/-/././././v/x/././d/f/./././|
--|/-/-/-/-/-/-/-/-/-/-/-/-/./o/././u/./y/./c/./././././|
--|/-/-/-/-/-/-/-/-/-/-/-/././p/./././x/./b/./f/./j/././|
--|/-/-/-/-/-/-/-/-/-/-/./././q/././././a/././g/././././|
--|/-/-/-/-/-/-/-/-/-/j/l/././././v/././././././././n/p/|
--|/-/-/-/-/-/-/-/-/././m/././s/u/././a/c/././././././q/|
--|/-/-/-/-/-/-/-/./././././././v/./z/b/././h/././n/././|
--|/-/-/-/-/-/-/g/i/./././././././y/./c/e/g/i/./././././|
--|/-/-/-/-/-/././j/././././t/./././././f/./j/l/./././-/|
--|/-/-/-/-/././././m/o/q/./././././c/./g/./././././-/-/|
--|/-/-/-/./f/././l/n/././././x/././d/././j/l/n/./-/-/-/|
--|/-/-/c/./g/i/././o/./s/./w/y/././././././././-/-/-/-/|
--|/-/./d/./././././p/r/t/./x/z/b/d/./././l/./-/-/-/-/-/|
01|/././././i/k/././q/./u/w/y/././e/g/i/k/m/-/-/-/-/-/-/|
02|/././././././n/p/r/././././././f/././l/-/-/-/-/-/-/-/|
03|/c/./././k/m/o/././u/././././e/g/i/k/-/-/-/-/-/-/-/-/|
04|/d/./h/./l/./././t/v/./z/./././h/j/-/-/-/-/-/-/-/-/-/|
05|/././././m/././s/././y/a/././g/./-/-/-/-/-/-/-/-/-/-/|
06|/././././n/././t/./x/./././././-/-/-/-/-/-/-/-/-/-/-/|
07|/g/i/././o/./././w/./././././-/-/-/-/-/-/-/-/-/-/-/-/|
08|/././././p/r/././x/././././-/-/-/-/-/-/-/-/-/-/-/-/-/|
09|/././m/./././u/./././././-/-/-/-/-/-/-/-/-/-/-/-/-/-/|
10|/././././././v/./z/b/d/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/|
11|/././o/./././././././-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/|
12|/././p/./t/./x/z/./-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/|
13|/./o/././u/w/y/a/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/|
14|/n/p/r/t/v/././-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/|
15|/./././u/././-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/|
16|/p/./././x/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/|
17|/./s/u/./-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/|
18|/./././-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/|
19|/././-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/|
20|/t/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/|
21|/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/|
(图中"/"为方便阅读的分割线,实际输出时不要)


============================================================
请教高手,
(1)以45度斜上
(2)以45度斜下
的(上述)排列规则输出数组的内容,用asp如何实现,两段代码该怎么写?

7 个解决方案

#1


补充:

这个是实际需要的结果:
--|-------------------------z|
--|------------------------..|
--|-----------------------xzb|
--|----------------------.y..|
--|---------------------..zbd|
--|--------------------u.ya.e|
--|-------------------...z..f|
--|------------------su.ya...|
--|-----------------r....b.f.|
--|----------------..uw...e.i|
--|---------------.r..xz...hj|
--|--------------o..uw......k|
--|-------------....vx..df...|
--|------------.o..u.y.c.....|
--|-----------..p...x.b.f.j..|
--|----------...q....a..g....|
--|---------jl....v........np|
--|--------..m..su..ac......q|
--|-------.......v.zb..h..n..|
--|------gi.......y.cegi.....|
--|-----..j....t.....f.jl...-|
--|----....moq.....c.g.....--|
--|---.f..ln....x..d..jln.---|
--|--c.gi..o.s.wy........----|
--|-.d.....prt.xzbd...l.-----|
01|....ik..q.uwy..egikm------|
02|......npr......f..l-------|
03|c...kmo..u....egik--------|
04|d.h.l...tv.z...hj---------|
05|....m..s..ya..g.----------|
06|....n..t.x.....-----------|
07|gi..o...w.....------------|
08|....pr..x....-------------|
09|..m...u.....--------------|
10|......v.zbd---------------|
11|..o.......----------------|
12|..p.t.xz.-----------------|
13|.o..uwya------------------|
14|nprtv..-------------------|
15|...u..--------------------|
16|p...x---------------------|
17|.su.----------------------|
18|...-----------------------|
19|..------------------------|
20|t-------------------------|
21|
22|

#2


不太明白,帮你顶...

#3


好象这个页面的字符不等宽,表格变形了

请COPY后以TXT格式查看上述图表

#4


还是有规律的

先右对齐  1次输出一个  每次递增
到头了 在左对齐 

挨~
小弟没看明白 

闪~~

#5


不懂

#6


说的好象还不是太明白

#7


水平坐标为a-z共26个位置,不存在的取值用"."填充 

这句是看懂了. 比较简单.
但是后面两句什么45上,45度下,就不明白你什么意思了

#1


补充:

这个是实际需要的结果:
--|-------------------------z|
--|------------------------..|
--|-----------------------xzb|
--|----------------------.y..|
--|---------------------..zbd|
--|--------------------u.ya.e|
--|-------------------...z..f|
--|------------------su.ya...|
--|-----------------r....b.f.|
--|----------------..uw...e.i|
--|---------------.r..xz...hj|
--|--------------o..uw......k|
--|-------------....vx..df...|
--|------------.o..u.y.c.....|
--|-----------..p...x.b.f.j..|
--|----------...q....a..g....|
--|---------jl....v........np|
--|--------..m..su..ac......q|
--|-------.......v.zb..h..n..|
--|------gi.......y.cegi.....|
--|-----..j....t.....f.jl...-|
--|----....moq.....c.g.....--|
--|---.f..ln....x..d..jln.---|
--|--c.gi..o.s.wy........----|
--|-.d.....prt.xzbd...l.-----|
01|....ik..q.uwy..egikm------|
02|......npr......f..l-------|
03|c...kmo..u....egik--------|
04|d.h.l...tv.z...hj---------|
05|....m..s..ya..g.----------|
06|....n..t.x.....-----------|
07|gi..o...w.....------------|
08|....pr..x....-------------|
09|..m...u.....--------------|
10|......v.zbd---------------|
11|..o.......----------------|
12|..p.t.xz.-----------------|
13|.o..uwya------------------|
14|nprtv..-------------------|
15|...u..--------------------|
16|p...x---------------------|
17|.su.----------------------|
18|...-----------------------|
19|..------------------------|
20|t-------------------------|
21|
22|

#2


不太明白,帮你顶...

#3


好象这个页面的字符不等宽,表格变形了

请COPY后以TXT格式查看上述图表

#4


还是有规律的

先右对齐  1次输出一个  每次递增
到头了 在左对齐 

挨~
小弟没看明白 

闪~~

#5


不懂

#6


说的好象还不是太明白

#7


水平坐标为a-z共26个位置,不存在的取值用"."填充 

这句是看懂了. 比较简单.
但是后面两句什么45上,45度下,就不明白你什么意思了