⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hefu.cpp

📁 很不错的信息论与编码课程设计论文
💻 CPP
字号:
#include<iostream.h>
#include<math.h>
int aa=0;
class hefu
{
public:
	hefu(){}
	~hefu(){}
	void input();
	void output();
	void paixi(double p[],int c);
	void jisuanma(int x,int y);
	int changenum(int c);
	void output2();
    int getn()
	{
		return n;
	}

	int getma()
	{
		return ma[20][20];
	}
    double geta()
	{
		return a[20];
	}
	
	int n;
	double a[20];
private:
	int ma[20][20];

};
void hefu::input()
{
	cout<<"请输入单符号信源元素个数 :\n";
	cin>>n;
	cout<<"请输入单符号概率  :\n";
	for(int i=0;i<n;i++)
		cin>>a[i];
}
void hefu::paixi(double p[],int c)
{
	int i,j,k;
	double x;
	for(i=1;i<c;i++)
	{
		k=i-1;
		for(j=i;j<c+1;j++)
			if(p[j]>p[k])
				k=j;
			x=p[i-1];p[i-1]=p[k];p[k]=x;
	}
}
int hefu::changenum(int c)
{
	if(c!=1)
		a[c-2]=a[c-1]+a[c-2];
	for(int i=0;i<c-2;i++)
		a[i]=a[i];
	paixi(a,c);
	return (c-1);

}
void hefu::output()
{
	for(int i=0;i<n;i++)
		cout<<" "<<a[i];
	    cout<<endl;
}
void hefu::jisuanma(int x,int y)
{
   int c;
   c=changenum(x);
   
   for(int yy=x;yy<=c;yy++)
	{
		ma[yy][aa]=2;
	}
	for(yy=c+1;yy<=y;yy++)
	{
		ma[yy][aa]=3;
	}
	cout<<endl;
    aa++;
    jisuanma(c,y);
}
void hefu::output2()
{
	
	for(int j=0;j<n;j++)
	{
		for(int i=0;i<n-1;i++)
		{   if(ma[j][i]!=0)
			cout<<ma[j][i]-2;
		}
		cout<<endl;
	}
}
void main()
{
	hefu dui;
	dui.input();
	dui.paixi(dui.a,dui.n);
	dui.output();
	dui.jisuanma(0,dui.n-1);
	dui.output2();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -