主题:请各位大虾帮偶做一道题
网虫一号
[专家分:1230] 发布于 2007-08-08 09:19:00
(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个回复)
沙发
Matodied [专家分:7560] 发布于 2007-08-08 13:29:00
题目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
板凳
Matodied [专家分:7560] 发布于 2007-08-08 13:31:00
题目2:[url=http://www.programfan.com/club/post-201380.html]请看此帖[/url]。
3 楼
QB小猪 [专家分:1200] 发布于 2007-08-09 11:03:00
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 楼
我的电脑 [专家分:990] 发布于 2007-08-13 10:51:00
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
我来回复