91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 4KB
    文件類型: .c
    金幣: 1
    下載: 0 次
    發布日期: 2021-06-02
  • 語言: 其他
  • 標簽: 算術編碼??

資源簡介

算術編碼程序要求可以輸入信源符號,可以自定義信號流,輸出編碼并解碼。

資源截圖

代碼片段和文件信息

#include?
#include?
#include?

/*?return?the?left?boundary?of?a?interval?*/
float?interval(char?cfloat?*pp)
{
int?in?=?c?-?‘a‘;
float?interval?=?0;
if?(in?==?0)
{
return?0;
}
else
{
for?(int?i?=?1;?i?<=?in;?i++)
{
interval?+=?pp[i-1];
}
return?interval;
}
}
/*?function?ends?*/

/*?return?the?signal‘s?probability?*/
float?probability(char?c?float?*pp)
{
int?in?=?c?-?‘a‘;
return?pp[in];
}
/*?function?ends?*/

/*?the?coding?function?*/
void?init()
{
int?flag?=?1;
int?n?=?0;???????//the?number?of?signal
float?prob?=?0;??//each?signal‘s?probability
char?ch?=?““;??????//a?character?to?receive?space
float?*p?=?malloc(1?*?sizeof(float));??//alloc?room?for?the?new?pointer

/*?receive?signal‘s?probabilities?*/
printf(“input?the?signal‘s?probabilities(with?spaces?between?numbers?and?an?enter?for?end):\n“);
while?(flag==1)
{
scanf_s(“%f%c“?&prob?&ch);?
n++;
p?=?realloc(p?n?*?sizeof(float));??//alloc?a?float?size?for?a?new?signal
if?(!p)
{
printf(“sorry?realloc?fails\n“);
return;
}
*(p?+?n?-?1)?=?prob;
if?(ch?==?‘\n‘)
{
printf(“there?are?%d?numbers\n“?n);
flag?=?0;
break;
}
}
/*?receiving?ends?*/
/*?check?if?the?values?are?legal?*/
float?allprob?=?0;
for?(int?i?=?0;?i? {
allprob?+=?p[i];
}
if?(allprob?!=?1)??//?if?illegal?shut?down?the?program
{
printf(“sorry?the?input?is?illegal\n“);
return;
}
/*?check?ends?*/

/*?initial?signals?*/
flag?=?1;
ch?=?““;
char?*s?=?malloc(1?*?sizeof(char));
char?sig?=?““;???
int?signum?=?0;??//?signum?is?the?number?of?signals?to?be?coded
/*?initialing?ends?*/

fflush(stdin);
/*?input?the?signals?*/
printf(“input?the?signal?stream?to?be?coded(with?an?enter?for?end):\n“);
while?(flag==1)
{
scanf_s(“%c“?&sig);
//printf(“?%c?“?sig);
if?(sig?==?‘\n‘)
{
flag?=?0;
break;
}
signum++;
s?=?realloc(s?signum?*?sizeof(char));
if?(!s)
{
printf(“sorry?realloc?fails\n“);
return;
}
*(s?+?signum?-?1)?=?sig;

評論

共有 條評論