BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #17978同步于 2008/12/22
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

编哈弗曼的时候遇到一个囧事!!!——无法解决,请教各位!

youbupt
2008/12/22镜像同步9 回复
没编完,不过编到现在输入了几个数测试了一下发现很无厘头: 我将一组数字按不同顺序输入得出的和却是两种结果,实在是百思不的其解,所以来请教各位!谢谢了 #include<iostream.h> #include<iostream.h> struct element // 用来存原始放字符串的单链表的结点类型 { element *next; double weight; // 存放权值 char letter; //存放字符 }; class HuffmanTree //定义一个哈夫曼树类 { public: HuffmanTree() { cout<<"请输入你的字符个数:"<<endl; first=new element;first->next=NULL; //存放字符串的单链表初始化为空表 GetLetter(); //接受输入的字母 //cout<<"shuru jieshu"<<endl; cout<<endl<<endl; //WrongLetter(); //删除重复的字符 cout<<"输入字符对应的概率:"<<endl; GetP(); }; ~HuffmanTree() { // cout<<"调用析构函数"<<endl; while(first) { element *q=first; //调用析构函数销毁单链表 first=first->next; delete q; } // cout<<"析构结束"<<endl; }; void GetLetter() //收集输入的字符串 { int num; cin>>num; //num表示输入字符串的字符个数 char ch; element *p=first; cout<<"输入符号:"<<endl; while(num) { cin>>ch; element *s=new element; //申请内存存放字符 s->letter=ch; //用头插法将字符串存进单链表 s->next=p->next; p->next=s; //s->weight=1; p=p->next; num--; } }; void GetP() //得到每个符号的概率 { element *p=first->next; double sum=0; while(p) { cin>>p->weight; sum+=p->weight;//cout<<endl<<"sum为:"<<sum<<endl; p=p->next; } if(sum!=1) { cout<<endl<<"概率和不为1,请重新输入:"<<endl; GetP(); } else cout<<"概率和为1"<<endl; }; private: element *first; }; void main() { HuffmanTree a; } 运行的结果,明明都是1,却得出来有的不是1
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
guo机器人#1 · 2008/12/23
GetP()中的if(sum!=1) 改成if ((sum - 1.0 > 0.000001) || (sum - 1.0 < -0.000001)) 试试
ReLive机器人#2 · 2008/12/23
double也有这问题?我以为只有float有
guo机器人#3 · 2008/12/23
浮点数都有这个问题 【 在 ReLive (223守护神) 的大作中提到: 】 : double也有这问题?我以为只有float有
youbupt机器人#4 · 2008/12/23
【 在 guo 的大作中提到: 】 : GetP()中的if(sum!=1) : 改成if ((sum - 1.0 > 0.000001) || (sum - 1.0 < -0.000001)) : 试试 厉害,谢谢了 啊
Neuron机器人#5 · 2008/12/27
精度啊,lz是计算机专业的吗?了解计组吗?
wks机器人#6 · 2008/12/27
最近好多huffman的问题。
youbupt机器人#7 · 2008/12/27
【 在 Neuron 的大作中提到: 】 : 精度啊,lz是计算机专业的吗?了解计组吗? 不是计算机的啊 计组是啥啊
ericyosho机器人#8 · 2008/12/27
祭祖?机组? 莫非是计算机组成原理? =.=
lxin机器人#9 · 2008/12/27
你得到它了 【 在 ericyosho (ericyosho) 的大作中提到: 】 : 祭祖?机组? : 莫非是计算机组成原理? : =.= : ...................