• 大小: 241KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-13
  • 语言: 其他
  • 标签: 算术编码  编程  

资源简介

统计编码的算术编码,用代码来实现,输入任意字串 ,输出其算术编码

资源截图

代码片段和文件信息

#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;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       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


评论

共有 条评论