费诺编码
1.实验目的
(1)进一步熟悉费诺编码过程;
(2)掌握Matlab 或C语言递归程序的设计和调试技术

2.实验要求
(1)输入:信源符号个数 ,每个信源符号的概率分布P从键盘输入
(2)输出:每个信源符号对应的费诺编码的码字
(3)源程序格式整齐清晰,注释简单明了。

3.实验源码

#include<iostream>
#include<string>
using namespace std;float abs(float a){if(a>=0){return a;}else{return -a;}}int fenkuai(int a,int b,float *p,string *str){if(b-a==0){return 0;}float min=1;int pos=a;for(int i=a;i<b;i++){float front=0,last=0;for(int j=a;j<=i;j++){front+=p[j];}for(int j=i+1;j<=b;j++){last+=p[j];}if(abs(front-last)<min){min=abs(front-last);pos=i;}}for(int j=a;j<=pos;j++){str[j]+="0";}for(int j=pos+1;j<=b;j++){str[j]+="1";}fenkuai(a,pos,p,str);fenkuai(pos+1,b,p,str);
}int main(int argc, char** argv) {cout<<"请输入信源符号个数"<<endl;int n;cin>>n;cout<<"请输入分布概率"<<endl;float p[n];string str[n];for(int i=0;i<n;i++){cin>>p[i];}fenkuai(0,n-1,p,str);cout<<"费诺码如下:"<<endl;for(int i=0;i<n;i++){cout<<str[i]<<endl;}return 0;
}

4.运行截图

费诺编码 c++代码实现 信息论实验相关推荐

  1. c语言实验--字符编码,费诺编码的C语言实现实验论文.doc

    费诺编码的C语言实现实验论文 #include //头文件 #include #include #define Bmax 10 //最长码长度 #define Smax 20 //数组最大长度 /** ...

  2. 香农费诺编码 c语言实现,信息论课程设计(香农、费诺编码)

    <信息论课程设计(香农.费诺编码)>由会员分享,可在线阅读,更多相关<信息论课程设计(香农.费诺编码)(34页珍藏版)>请在人人文库网上搜索. 1.华北科技学院信息论基础课程设 ...

  3. 费诺编码实验报告c语言,信息论编码实验报告费诺编码附源代码..doc

    信息论编码实验报告费诺编码附源代码. 中南大学 信息论与编码实验报告 选 题: 费诺编码 学生姓名: 学 号: 专业班级: 通信工程 指导老师: 学 院: 信息科学与工程学院 时 间: 2015 目录 ...

  4. java实现.费诺编码_信息论编码实验报告费诺编码附源代码

    信息论编码实验报告费诺编码附源代码 中南大学信息论与编码实验报告选 题: 费诺编码 学生姓名: 学 号: 专业班级: 通信工程 指导老师: 学 院: 信息科学与工程学院 时 间: 2015 目录1.实 ...

  5. 费诺码设计matlab,费诺编码的matlab实现.doc

    费诺编码的matlab实现.doc 多媒体技术实验报告学院:城南学院 姓名:学号:指导老师:尹波时间:2015年11月25日 教师评语:成绩 评阅教师 日期 实验一:费诺编码的matlab实现1实验目 ...

  6. 香农码字matlab,香农--费诺编码的matlab实现

    香农--费诺编码的matlab实现 信息论与编码实验香农 --费诺编码的 matlab 实现学院:------班级:-----姓名:----学号:----摘要:用 预 先 规 定 的 方 法 将 文 ...

  7. 信息论与编码 python实现 费诺编码 代码详解

    先给出整体代码 要copy的朋友可以拿去 下面给出 from math import * class FanoCod: #费诺编码code_dict = {}x_p = {}x_plist = []A ...

  8. 信源编码的代码实现 (香农编码、费诺编码、哈夫曼编码、游程编码、算术编码)

    文章目录 香农编码 费诺编码 哈夫曼编码 C++版 C语言版 游程编码 算术编码 香农编码 (1) 将信源消息符号按其出现的概率大小依次排列 p1 ≥ p2 ≥ - ≥ pn (2) 确定满足下列不等 ...

  9. 信息论与编码-python实现三种编码(香农编码,费诺编码,赫夫曼编码)

    香农编码,费诺编码,赫夫曼编码(python实现) 开始参考了网上其他人的代码,但后来都发现要么代码有错误,要么输出结果不符合自己的预期,于是就重新实现了一下,代码仍存在一些小问题,但是能够满足作业要 ...

最新文章

  1. 在哪里能收到python实例代码-python实现网站微信登录的示例代码
  2. Linux CentOS 6.x 关闭图形化界面的方法
  3. boost::program_options模块实现支持自定义选项语法的测试程序
  4. SAP GUI 遇到 Error in Parser-Thread 错误的解决方法
  5. 获取apk安装包sha1的值
  6. 我与ARM的那些事儿2JINLK烧录nor flash
  7. html多级折叠菜单表单,JS实战篇之收缩菜单表单布局
  8. android中获取时间
  9. python线程的互斥锁
  10. 万人请愿别让贝索斯重返地球 还有人建议带上马斯克
  11. 万圣节html代码大全,《方舟 生存进化》万圣节代码大全一览
  12. ATmega328p EEprom读写
  13. 计算方法实验(二):龙贝格积分法
  14. dedecms教程:织梦模板修改{dede:list}标签后,可支持权重排序、flag标签功能
  15. 街头篮球常常服务器连接中断,街头篮球总是掉线,街头篮球打一局就掉线
  16. 《流畅的python》这本确实老辣
  17. 星巴克推出首个黄金档嘉宾“夜聊”节目;阿华田中国首发两款新品;帝亚吉欧中国首家麦芽威士忌酒厂正式动工 | 食品饮料新品...
  18. 【全】各种颜色对应的 Hex code 和对应的 RGB 值
  19. BP神经网络原理与matlab实现
  20. 创建二叉树并计算结点数

热门文章

  1. 获取ckeditor的内容
  2. Homework 1: COVID-19 Cases Prediction (Regression)
  3. MySQL间隙锁(幻读解决原理)
  4. 数据库MySQL-多表查询
  5. PHP之MySQL笔记3
  6. 虚拟机网络连通性选择
  7. 优雅地实现Android主流图片加载框架封装,可无侵入切换框架
  8. Beautiful Soup的使用
  9. linux下more命令的使用
  10. 赛题类型 Web、Crypto、Pwn、Reverse、Misc 各是指什么意思?