信息论与编码实验报告
code=new string[n]; cout<<"请依次输入信源符号:"; for(int i=0;i<n;i++) cin>>sign[i]; cout<<"请依次输入信源符号的概率:"; for(i=0;i<n;i++) cin>>p[i]; for(i=0;i<n-1;i++) for(int j=i+1;j<n;j++) if(p[i]<p[j]) { double temp=p[i];p[i]=p[j];p[j]=temp; string m=sign[i];sign[i]=sign[j];sign[j]=m; } fano(0,n-1); //费诺编码 cout<<endl<<endl<<setw(8)<<"信源符号"<<setw(8)<<"概率"<<setw(8)<<"码字"<<setw(8)<<"码长"<<endl; for(i=0;i<n;i++) cout<<setw(8)<<sign[i]<<setw(8)<<p[i]<<setw(8)<<code[i]<<setw(8)<<code[i].length()<<endl; delete []p; delete []sign; delete []code; }
费诺编码测试结果截图: