資源簡(jiǎn)介
統(tǒng)計(jì)編碼的算術(shù)編碼,用代碼來(lái)實(shí)現(xiàn),輸入任意字串 ,輸出其算術(shù)編碼

代碼片段和文件信息
#include?
#define?M?100
#define?N?4
class?suanshu
{?
int?countlength;
char?number[N]n;
long?double?chance[N]c;
char?code[M];
long?double?HighLowhighlowd;
public:
suanshu()
??{High=0;Low=0;}
void?get_number();
void?get_code();
void?coding();
~suanshu(){}
};
void?suanshu::get_number()
{
cout<<“please?input?the?number?and?its?chance.“< for(int?i=0;i {
??cin>>n>>c;
??number[i]=n;
??chance[i]=c;
}
if(i==20)
??cout<<“the?number?is?full.“< count=i;
}
void?suanshu::get_code()
{
cout<<“please?input?the?code‘‘s?length:“;
cin>>length;
while(length>=M)
{
??cout<<“the?length?is?too?largerplease?input?a?smaller?one.“;
??cin>>length;
}
for(int?i=0;i {
??cin>>code[i];
}
}
void?suanshu::coding()
{
int?ij=0;
for(i=0;i ??if(code[0]==number[i])?break;
while(j??Low+=chance[j++];
d=chance[j];
High=Low+d;
for(i=1;i ??for(j=0;j ??{
???if(code[i]==number[j])
???{
????if(j==0)
????{
?????low=Low;
?????high=Low+chance[j]*d;
?????High=high;
?????d*=chance[j];
????}
????else
????{
?????float?chance_l=0.0;
?????for(int?k=0;k<=j-1;k++)
??????chance_l+=chance[k];
?????low=Low+d*chance_l;
?????high=Low+d*(chance_l+chance[j]);
?????Low=low;
?????High=high;
?????d*=chance[j];
????}
???}
???else?continue;
??}
cout<<“the?result?is:“< }
int?main()
{
suanshu?a;
a.get_number();
a.get_code();
a.coding();
return?0;
}
?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----
?????文件???????1496??2009-06-02?21:20??1\1.cpp
?????文件???????3341??2009-06-02?21:20??1\1.dsp
?????文件??????41984??2009-06-02?21:23??1\Debug\vc60.idb
?????文件??????61440??2009-06-02?21:20??1\Debug\vc60.pdb
?????文件?????244272??2009-06-02?21:20??1\Debug\1.pch
?????文件??????11124??2009-06-02?21:23??1\Debug\1.obj
?????文件?????263028??2009-06-02?21:23??1\Debug\1.ilk
?????文件?????233547??2009-06-02?21:23??1\Debug\1.exe
?????文件?????435200??2009-06-02?21:20??1\Debug\1.pdb
?????文件??????33792??2009-06-02?21:24??1\1.ncb
?????文件????????723??2009-06-02?21:23??1\1.plg
?????文件??????48640??2009-06-02?21:24??1\1.opt
?????文件????????510??2009-06-02?21:24??1\1.dsw
?????目錄??????????0??2009-06-02?21:20??1\Debug
?????目錄??????????0??2009-06-02?21:01??1
-----------?---------??----------?-----??----
??????????????1379097????????????????????15
- 上一篇:很好用的斷網(wǎng)工具
- 下一篇:PSCAD中MMC建模
評(píng)論
共有 條評(píng)論