資源簡介
有關(guān)信道編碼的C++程序

代碼片段和文件信息
#include
#include
double?a[10];??????????????//用于存儲符號的概率
int?n;?????????????????????//請輸入單符號信源元素個數(shù)
double?b[10];??????????????//用于存儲碼字的概率
int?k[10];?????????????????//用于存儲Ki的K直
int?c[10];?????????????????//用于存儲二進嗎
void?input();??????????????//輸入數(shù)據(jù)函數(shù)
void?paixi();??????????????//對概率排序
void?output();?????????????//輸出函數(shù)
void?bgailui();????????????//用于求碼字的概率
void?kjisuan();????????????//用于求Ki的K直
void?bbianma();????????????//用于編碼
void?panduan();????????????//用于對輸入數(shù)據(jù)判斷,避免符號的總和概率》1
void?main()
{
input();
????panduan();
paixi();
output();
????bgailui();
????kjisuan();
????bbianma();
}
void?input()
{
cout<<“請輸入單符號信源元素個數(shù)?:\n“;
cin>>n;
cout<<“請輸入單符號概率??:\n“;
for(int?i=1;i cin>>a[i];
}
void?panduan()
{
????double?sum=0;
????for(int?i=0;i
sum+=a[i];
cout<<““< if(sum==1.0)
cout<<“將執(zhí)行下面操作:“< else?if(sum!=1.0)
{
cout<<“?輸入錯誤,請重新輸入?????:“< input();
}
}
????????????
void?paixi()
{
int?ijk;
double?x;
for(i=1;i {
k=i-1;
for(j=i;j if(a[j]>a[k])
k=j;
x=a[i-1];a[i-1]=a[k];a[k]=x;
}
}
void?output()
{
????cout<<“排序后符號概率分布“< for(int?i=0;i cout<<“?“< ?cout< }
void?bgailui()
{
b[0]=0;
????for(int?i=0;i ???{
??b[i+1]=b[i]+a[i];
???}
cout<<“累加概率分布為“< ???for(?i=0;i ???cout<<“?“<???cout< }
void?kjisuan()
{
for(int?i=0;i {
if((-1)*log(a[i])/log(2)==int((-1)*log(a[i])/log(2)))
k[i]=int((-1)*log(a[i])/log(2));
else
k[i]=int((-1)*log(a[i])/log(2))+1;
}
????cout<<“k為?“< for(i=0;i cout<<“?“< cout< }
void?bbianma()
{
????double?x;
????cout<<“編碼為“< for(int?i=0;i {
x=b[i];
????????for(int?j=0;j {
???????????if(x<=0.5)
???{
??????????????if(x==int(x))
????x=0;
??????else
????????????????x=x*2;
????????????????c[j]=int(x);
???}
???else?if(x>0.5)
???{
??????????????if(x==int(x))
????x=0;
??else
??x=(x-int(x))*2;
??????c[j]=int(x);
???}
?
}
?for(j=0;j ????????? cout<<““< ?cout< }
}
?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????2396??2008-04-26?22:27??xindao.cpp
-----------?---------??----------?-----??----
?????????????????2396????????????????????1
評論
共有 條評論