回 帖 发 新 帖 刷新版面

主题:请各位大虾帮偶做一道题

(1)编码问题:设有一个数组A:ARRAY[0..N-1] OF INTEGER;数组中存放的元素为0~N-1之间的差数,且A[i]<>A[j](当i<>j)时。
  例如:N=6时,有A=(4,3,0,5,1,2)
  此时,数组A的编码定义如下:
  A[0]的编码为0;
  A[i]的编码为:在A[0],A[1],……,A[i-1]中比A[i]的值小个数(i=1,2,……,N-1)
  所以,上面数组A的编码为:B=(0,0,0,3,1,2)
  程序要求解决以下问题:
  1、输出数组A后,求出其编码;
  2、给出数组A的编码后,求出A中的原数据。

回复列表 (共4个回复)

沙发

题目1:
CLS
INPUT n: DIM a(n), b(n)
FOR i = 1 TO n: PRINT "Input a("; i; "):"; : INPUT a(i): NEXT i
FOR i = 1 TO n
    s = 0
    FOR j = 1 TO i - 1
        IF a(j) < a(i) THEN s = s + 1
    NEXT j
    b(i) = s
NEXT i
FOR i = 1 TO n: PRINT b(i); : NEXT i: END

板凳

题目2:[url=http://www.programfan.com/club/post-201380.html]请看此帖[/url]。

3 楼

cls
input n:dim a(n)
for i=1 to n:input a(i):next i
for i=1 to n-1:w=0
for j=i+1 to n
if a(i)<a(j) then w=w+1
next j
?w;
next i
end
对不对?请检验!!![em20]

4 楼

CLS
INPUT n: DIM a(n), b(n)
FOR i = 1 TO n: PRINT "Input a("; i; "):"; : INPUT a(i): NEXT i
FOR i = 1 TO n
    s = 0
    FOR j = 1 TO i - 1
        IF a(j) < a(i) THEN s = s + 1
    NEXT j
    b(i) = s
NEXT i
FOR i = 1 TO n: PRINT b(i); : NEXT i: END

我来回复

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