自己用c语言写的海明码

该博客介绍了一个使用C语言编写的海明码算法,包括数据输入、海明码生成、错误检测和纠正功能。用户可以输入数据或海明码进行操作,程序会根据输入计算校验位并判断是否有错误,若出现错误则进行纠正。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

*自己想的海明码算法,请多多指教!email flysky2011@163.com */

#include <stdio.h>
#include <malloc.h>
#include <math.h>
#include <dos.h>
#define M 100 //最大的数据位数
#define N 50//最大的校验位数

struct Hamming{
int flag;
int value;//海明码的数值
}H[M];//存放海明码信息

int P[N];//存放校验位信息
int C[N];//存放检验位信息
int m[M+N];//存放需要纠正的海明码
int DC=0,PC=0,EC=0,HC=0,ERROR=0,ERROR1=0;//DC是数据的位数,PC是校验位的位数,不能在此更改这些数据的值,否则出错

showInf(){//显示信息
printf("-------------------------------------------------------------------------------/n");
printf("*****************************************海明码********************************/n");
printf("***************************************输入格式如下:***************************/n");
printf("*****************************如果要输入1101,需输入 1 1 0 1 -1******************/n");
printf("-----------------------------选择操作:----------------------------------------/n");
printf("1 输入数据后生成海明码 2 输入海明码  3 清屏  4 纠正海明码 5 返回主页 6 结束程序/n/n");
printf("请选择操作,只能输入一个数: ");
}

int inputData(int choice){//输入数据或海明码,参数是1就表示输入的是数据,参数是2就表示输入的是海明码。返回-1就表示输入数据错误。
  int data,i=1;
  scanf("%d",&data);
  if(data !=0&&data!=1){
  system("cls");
      printf("/n/n提示信息:输入格式不正确,第一位只能是0或1,请重新选择操作/n/n/n");
      return -1;
  }
  DC=1;
&nb

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值