回 帖 发 新 帖 刷新版面

主题:[讨论]三维数组转二维数组

请哪位高手告诉俺这道题的编法: 将2*3*4的三维数组转化成4*6的二维数组
谢谢了![em18][em18]
[fly]请帮忙!!!!   谢谢!!!![/fly]

回复列表 (共4个回复)

沙发

先转一维,再转二维。
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

板凳

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 楼

我在想可以不可以直接读内存来转?在内存里存储应该都是一维的吧(尽管内存物理是二维)。

4 楼


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
怎么样

我来回复

您尚未登录,请登录后再回复。点此登录或注册