编码问题(用free pascal) 20
Description设有一个数组A:array[0..n-1]ofinteger;数组中存放的元素为0至n-1之间的整数,且A[i]<>A[j](当i<>j时)。如:n...
Description
设有一个数组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)
Input
第一行只有一个正整数:n ( 1 <= n <= 500 )
第二行共有n个整数,对应于数组A的n个元素
Output
只有一行共有n个元素:数组A的编码B
Sample Input
6
4 3 0 5 1 2
Sample Output
0 0 0 3 1 2 展开
设有一个数组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)
Input
第一行只有一个正整数:n ( 1 <= n <= 500 )
第二行共有n个整数,对应于数组A的n个元素
Output
只有一行共有n个元素:数组A的编码B
Sample Input
6
4 3 0 5 1 2
Sample Output
0 0 0 3 1 2 展开
1个回答
展开全部
var a,b:array[0..500] of integer;
n,i,j:integer;
begin
readln(n);
for i:=0 to n-1 do read(a[i]);
for i:=0 to n-1 do
if i=0 then b[i]:=0 else
for j:=0 to i-1 do
if a[j]<a[i] then inc(b[i]);
for i:=0 to n-1 do write(b[i],' ');
end.
自己做的,很简单
n,i,j:integer;
begin
readln(n);
for i:=0 to n-1 do read(a[i]);
for i:=0 to n-1 do
if i=0 then b[i]:=0 else
for j:=0 to i-1 do
if a[j]<a[i] then inc(b[i]);
for i:=0 to n-1 do write(b[i],' ');
end.
自己做的,很简单
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询