一个C语言程序问题,请高手帮帮忙

来源:百度知道 编辑:UC知道 时间:2024/05/26 02:32:02
我是学JAVA,这是一个朋友的程序,不知道是怎么弄的
运行编译不过请C的高手帮忙修改一下
详细代码如下
:香农-费诺编码的程序设计

#i nclude<iostream.h>
#i nclude<math.h>
#i nclude<iomanip.h>
#i nclude<stdlib.h>
class T
{
public:
T() {}
~T();
void Create();
void Coutpxj();
void Coutk();
void Coutz();
void Print();
protected:
int n;
double *p;
double *pxj;
int *k;
double *mz;
};
void T::Create()
{
cout<<"请输入信源符号个数:";
cin>>n;
p=new double[n];
cout<<"请分别输入这"<<n<<"个概率:\n";
for(int i=0;i<n;i++)
cin>>p[i];
pxj=new double[n];
k=new int[n];
mz=new double[n];
double sum=0.0;
for(i=0;i<n;i++)
sum+=p[i];
if(sum!=1.0)
throw 1;
else
{
for(i=0;i<n;i++)
{
int k=i;
for(int j=i+1;j<n;j

我改了以下四个#,和include ,其他的没变,运行通过 VC6.0
#include<iostream.h>
#include<math.h>
#include<iomanip.h>
#include<stdlib.h>
class T
{
public:
T() {}
~T();
void Create();
void Coutpxj();
void Coutk();
void Coutz();
void Print();
protected:
int n;
double *p;
double *pxj;
int *k;
double *mz;
};
void T::Create()
{
cout<<"请输入信源符号个数:";
cin>>n;
p=new double[n];
cout<<"请分别输入这"<<n<<"个概率:\n";
for(int i=0;i<n;i++)
cin>>p[i];
pxj=new double[n];
k=new int[n];
mz=new double[n];
double sum=0.0;
for(i=0;i<n;i++)
sum+=p[i];
if(sum!=1.0)
throw 1;
else
{
for(i=0;i<n;i++)
{
int k=i;
for(int j=i+1;j<n;j++)
i