主题:[讨论]三维数组转二维数组
东方老倪
[专家分:0] 发布于 2008-04-28 13:45:00
请哪位高手告诉俺这道题的编法: 将2*3*4的三维数组转化成4*6的二维数组
谢谢了![em18][em18]
[fly]请帮忙!!!! 谢谢!!!![/fly]
回复列表 (共4个回复)
沙发
Mato完整版 [专家分:1270] 发布于 2008-04-28 15:45:00
先转一维,再转二维。
OPTION BASE 1
RANDOMIZE TIMER
CLS
DIM A1(24), A2(4, 6), A3(2, 3, 4)
FOR I = 1 TO 2: FOR J = 1 TO 3: FOR K = 1 TO 4
A3(I, J, K) = INT(RND * 1000)
S = (I - 1) * 12 + (J - 1) * 4 + K
A1(S) = A3(I, J, K)
IF S MOD 6 = 0 THEN T1 = S / 6: T2 = 6 ELSE T1 = S \ 6 + 1: T2 = S MOD 6
A2(T1, T2) = A1(S)
NEXT K, J, I
FOR I = 1 TO 4: FOR J = 1 TO 6
PRINT USING "####"; A2(I, J);
NEXT J: PRINT : NEXT I
END
板凳
世界第一 [专家分:210] 发布于 2008-04-30 13:11:00
cls
dim a(100),b(4,6)
for i=1 to 2
for j=1 to 3
for k=1 to 4
s=s+1:a(s)=int(rnd*1000)+1
next k,j,i
for i=1 to 4
for j=1 to 6
a=a+1:b(i,j)=a(a):print b(i,j);
next j:print:next i
不知对不对,请指教!!!
3 楼
我是大喊三 [专家分:3010] 发布于 2008-05-21 20:52:00
我在想可以不可以直接读内存来转?在内存里存储应该都是一维的吧(尽管内存物理是二维)。
4 楼
phile [专家分:2310] 发布于 2009-06-30 17:56:00
有
DIM A(2,3,4),B(4,6)
A=1
FOR I=1 TO 2
FOR J=1 TO 3
FOR K=1 TO 4
B=B+1
IF B>6 THEN B=1:A=A+1
B(A,B)=A(I,J,K)
NEXT K,J,I
怎么样
我来回复