资源简介
费诺编码C语言实现,实现文件的读入与写出,可修改任意数字,实现任意个数的编码。
代码片段和文件信息
/**
*
* Fano Code
*
* @author Xu jian
*
* 2010.11.27
*/
#include
#include
#include
#define N 8
struct event {
int n;
double x;
int code[N];
int low;
};
FILE *fp1*fp2;
struct event A[N+1];
void inputcode(struct event *aint b)/*input code*/
{
a->code[a->low]=b;
(a->low)++;
}
void outcode(struct event a)/*output code*/
{
int i;
for(i=0;i fprintf(fp2“%d“a.code[i]);
}
double getsum(int hint tstruct event a[])/*get sum*/
{
int i=h;
double sum=0.0;
for(i=h;i<=t;i++)
{
sum=sum+a[i].x;
}
return sum;
}
int getbreakpoint(struct event a[]int hint t)/*all right*/
{
int nt1;
double f[N+1]temp=0.0;
for(n=h;n {
f[n]=fabs(getsum(hna)-getsum(n+1ta));
}
temp=f[h];
t1=h;
for(n=h;n {
if(f[n] {
temp=f[n];
t1=n;
}
}
return t1;
}
void group(int hint tstruct event a[])
{
int ibreakpointzero=0one=1;
if(t==h+1)
{
inputcode(&a[h]zero);
inputcode(&a[t]one);
- 上一篇:华中科技大学C++实验
- 下一篇:重言式判别
评论
共有 条评论