• 大小: 3KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-06-10
  • 语言: C/C++
  • 标签: 算术编码  C语言  

资源简介

这是我信息论课程设计中算术编码的源代码,纯语言实现 一般学过c语言的都看得懂

资源截图

代码片段和文件信息

#include“stdio.h“
#include“string.h“
#define N 10
int NUM;
char Orin[100]OUT[100];
long double encode;
typedef struct 
{
       char c;
       long double Chance;
       long double SumCh;
       
}CO;
CO code[N];
void Encode(char s[]CO code[]);
void Decode( char s[]CO code[]int n);
main()
{
      int i;
      printf(“请输入码源数目:“);
      scanf(“%d“&NUM);
      for(i=0;i      {
      
  printf(“请输入码源:“);
  getchar();
  scanf(“%c“&code[i].c);      
  printf(“请输入码源%c的发生概率:“code[i].c);
         scanf(“%lf“&code[i].Chance);     
  for(int j=0;j   {        
  code[i].SumCh+=code[j].Chance; 
  
  }
  printf(“%.10lf\n“code[i].SumCh);
                        
  }      
      printf(“请输入需要编码的字符串:“);
      scanf(“%s“Orin);
      Encode(Orincode);
  Decode(OUTcodestrlen(Orin));
 }
      
      
      void Encode(char s[]CO code[])
      {
           int countij;
   long double highlow;
           count=strlen(s);
           for(i=0;i           {          
   for(j=0;j    {    
   if(s[i]==code[j].c&&i==0)                                                                                                 
 {         
   low=code[j].SumCh;                                    
   high=code[j].SumCh+code[j].Chance; 
   printf(“%.10lf        

评论

共有 条评论