回 帖 发 新 帖 刷新版面

主题:二维转一维

二维转一维

回复列表 (共4个回复)

沙发

二维转一维的公式:

二维数组a的元素(i,j)应该放在一维数组的:

              (i-1)*UBOUND(a,2)+j
个元素里。

程序:
CLS
INPUT m, n
DIM a(m, n), b(m * n)
FOR i = 1 TO m: FOR j = 1 TO n
    PRINT "a("; i; ","; j; ")=:";
    INPUT a(i, j)
    b((i - 1) * n + j) = a(i, j)
NEXT j, i
FOR i = 1 TO m * n: PRINT b(i); : NEXT i
END

板凳

[quote]二维转一维的公式:

二维数组a的元素(i,j)应该放在一维数组的:

              (i-1)*UBOUND(a,2)+j
个元素里。

程序:
CLS
INPUT m, n
DIM a(m, n), b(m * n)
FOR i = 1 TO m: FOR j = 1 TO n
    PRINT "a("; i; ","; j; ")=:";
    INPUT a(i, j)
    b((i - 1) * n + j) = a(i, j)
NEXT j, i
FOR i = 1 TO m * n: PRINT b(i); : NEXT i
END

[/quote]

3 楼

最简单,易懂

INPUT M,N     ’输入行列
FOR I=1 TO M 
  FOR J=1 TO M
    INPUT A(I,J)
    PRINT A(I,J);
    S=S+1        ’B数组下标指针
    B(S)=A(I,J)
  NEXT J
  PRINT
NEXT I
FOR I=1 TO S
  PRINT B(I);
NEXT I

很简单吧!

4 楼

设2维数组是N行N列的:
cls
input n
dim a(n,n),b(n+n)
(赋值略)
for i=1to n
  for j=1to n
    q=q+1
    b(q)=a(i,j)
  next j
next i
end

我来回复

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