奇偶校验码程序代码 20
为什么TC和VC运行结果不一样啊原题:奇偶校验的实现方法是:由若干有效信息位,再加上一个校验位组成校验码。校验位的取值(0或1)将使整个校验码中1的个数为奇数或偶数,所以...
为什么TC和VC运行结果不一样啊
原题:
奇偶校验的实现方法是:由若干有效信息位,再加上一个校验位组成校验码。校验位的取值( 0 或 1 )将使整个校验码中 1 的个数为奇数或偶数,所以有两种可供选择的校验规律:
奇校验——整个校验码(有效信息位一和个校验位)中 1 的个数为奇数
偶校验——整个校验码(有效信息位一和个校验位)中 1 的个数为偶数
交叉校验可以纠正一位错误,发现两位同时错误的情况,假设第二字节的a6,a4两位均出错,第二字节的横向校验位无法检查出错误,但第a6,a4位所在位第纵向校验位均会显示出错。
你的任务是,对于输入的交叉奇偶校验码,计算至少有几位出错。
输入
第一行为两个数字 m n ( 2 <= m , n <=100 ),分别是校验码的行数和列数
之后是 m 行,每行由 n 个 0 1 组成
横纵均为偶校验
输出
最少出错的位数
测试用例:
7 13
1 1 1 1 0 0 1 0 1 0 1 0 1
1 0 1 0 1 1 0 0 1 1 1 0 1
0 0 1 1 1 0 0 1 1 1 0 1 1
1 1 1 0 0 0 0 1 1 0 0 0 1
1 0 1 0 0 1 1 0 0 0 1 0 1
0 0 0 0 1 1 1 1 0 1 1 0 0
0 0 1 0 1 1 1 1 0 1 0 1 1
结果是0
但VC过不了啊 高手这题该怎么写啊
我们学校的编译系统就上面的那个测试用例我的程序结果是6但TC下是0啊 展开
原题:
奇偶校验的实现方法是:由若干有效信息位,再加上一个校验位组成校验码。校验位的取值( 0 或 1 )将使整个校验码中 1 的个数为奇数或偶数,所以有两种可供选择的校验规律:
奇校验——整个校验码(有效信息位一和个校验位)中 1 的个数为奇数
偶校验——整个校验码(有效信息位一和个校验位)中 1 的个数为偶数
交叉校验可以纠正一位错误,发现两位同时错误的情况,假设第二字节的a6,a4两位均出错,第二字节的横向校验位无法检查出错误,但第a6,a4位所在位第纵向校验位均会显示出错。
你的任务是,对于输入的交叉奇偶校验码,计算至少有几位出错。
输入
第一行为两个数字 m n ( 2 <= m , n <=100 ),分别是校验码的行数和列数
之后是 m 行,每行由 n 个 0 1 组成
横纵均为偶校验
输出
最少出错的位数
测试用例:
7 13
1 1 1 1 0 0 1 0 1 0 1 0 1
1 0 1 0 1 1 0 0 1 1 1 0 1
0 0 1 1 1 0 0 1 1 1 0 1 1
1 1 1 0 0 0 0 1 1 0 0 0 1
1 0 1 0 0 1 1 0 0 0 1 0 1
0 0 0 0 1 1 1 1 0 1 1 0 0
0 0 1 0 1 1 1 1 0 1 0 1 1
结果是0
但VC过不了啊 高手这题该怎么写啊
我们学校的编译系统就上面的那个测试用例我的程序结果是6但TC下是0啊 展开
3个回答
AiPPT
2024-09-19 广告
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
展开全部
where is the code?
#include<stdio.h>
main()
{
int i,j,count=0,e=0,f=0,g,m,n;
char a[100][100];
scanf("%d %d",&n,&m);
getchar();//用来消除回车
for(i=0;i<n;i++){
scanf("%s",a[i]);
a[i][m]='\0';
}
for(i=0;i<n;i++){
for(j=0;j<m;j++){
if(a[i][j]=='1')count++;
}
if(count%2==1)e++;
count=0;
}
for(j=0;j<m;j++){
for(i=0;i<n;i++){
if(a[i][j]=='1')count++;
}
if(count%2==1)f++;
count=0;
}
g=e>f?e:f;
printf("e=%d f=%d g=%d",e,f,g); //不知你的程序是要判断什么奇偶
//如果行有奇数个'1',则e++;
//如果列有奇数个'1',则f++;
//最后看e和f的大小是吗? 这里vc和tc的结果一样
}
#include<stdio.h>
main()
{
int i,j,count=0,e=0,f=0,g,m,n;
char a[100][100];
scanf("%d %d",&n,&m);
getchar();//用来消除回车
for(i=0;i<n;i++){
scanf("%s",a[i]);
a[i][m]='\0';
}
for(i=0;i<n;i++){
for(j=0;j<m;j++){
if(a[i][j]=='1')count++;
}
if(count%2==1)e++;
count=0;
}
for(j=0;j<m;j++){
for(i=0;i<n;i++){
if(a[i][j]=='1')count++;
}
if(count%2==1)f++;
count=0;
}
g=e>f?e:f;
printf("e=%d f=%d g=%d",e,f,g); //不知你的程序是要判断什么奇偶
//如果行有奇数个'1',则e++;
//如果列有奇数个'1',则f++;
//最后看e和f的大小是吗? 这里vc和tc的结果一样
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询