F 實驗7 21 編碼 解碼陣列

2021-10-01 05:37:16 字數 1241 閱讀 8514

設有乙個整型陣列a中存放n個互不相同的整數,a中元素取值範圍為0到n-1。a陣列的編碼定義如下:a[0]的編碼為0,放入b[0];ai的編碼為在a[0]、a[1]、…、a[i-1]中比a[i]的值小的數的個數,放入b[i]。例如:a[6]=時,則b[6]=。你有兩個任務,任務一是編碼,即已知n與陣列a,求陣列b;任務二是解碼,即已知n與陣列b,求陣列a。

輸入與輸出要求:首先輸入兩個整數n和flag。n代表陣列元素的個數(1<=n<=100),flag代表任務型別(flag=1代表編碼任務,flag=2代表解碼任務)。然後是n個整數,當flag=1時,這n個數即代表陣列a的內容;當flag=2時,這n個數即代表陣列b的內容。

輸出n個整數,當flag=1時即為編碼後陣列b的內容,當flag=2時,即為解碼後陣列a的內容。每個整數用空格分開,最後乙個整數後是換行符。

程式執行效果:

sample 1:

5↙1↙

2 1 3 0 4↙

0 0 2 0 4

sample 2:

8↙2↙

0 1 2 0 1 1 4 5↙

3 6 7 0 2 1 4 5

#include

intmain()

for(

int i=

0;ib[i]

=cnt;

}for

(int i=

0;i)else}}

cnt=0;

if(flag==2)

for(

int i=

0;i)//a[n-1]=b[n-1];

int number[n]

;for

(int i=

0;i)//number[b[n-1]]=-1;

for(

int i=n-

1;i>=

0;i--

) cnt++;}

}for

(int i=

0;i)else

if(i==n-1)

}}return0;

}

簡化版

#include

intmain()

} b[i]

=cnt;

}for

(int i=

0;iif(flag==2)

}for

(int i=

0;ireturn0;

}

D 實驗7 21 編碼 解碼陣列

設有乙個整型陣列a中存放n個互不相同的整數,a中元素取值範圍為0到n 1。a陣列的編碼定義如下 a 0 的編碼為0,放入b 0 ai的編碼為在a 0 a 1 a i 1 中比a i 的值小的數的個數,放入b i 例如 a 6 時,則b 6 你有兩個任務,任務一是編碼,即已知n與陣列a,求陣列b 任務...

C安全編碼 陣列

建議 規則 void clear int array void dowork void clear 使用sizeof array sizeof array 0 這種用法確定這個陣列的元素數量,但由於array是乙個形參,因此它是指標型別,sizeof array sizeof int 4 32位os...

第十九次總結 編碼與解碼 資料編碼

md5是什麼?base64編碼?md5 是一種加密演算法 md5加密是非可逆的 摘要加密演算法 sha 1 sha 256 通常用在對密碼進行加密 messagedigest md messagedigest.getinstance md5 sha 1 sha 256 md.update strin...