求指导!!!!

lrd408 2011-09-01 10:49:30
//两个数组中存的二进制数,求和
#include <iostream>

using std::cout;
using std::cin;
using std::endl;

void ADD_BIT(int *result,int *p,int *q,int n);
int main() {
const int NUM=10;
int BitArray1[NUM]={1,0,1,1,1,1,0,0,1,1};
int BitArray2[NUM]={1,1,1,1,1,0,1,0,1,1};
int Result[NUM+1];
ADD_BIT(Result,BitArray1,BitArray2,NUM);
return 0;
}

void ADD_BIT(int *result,int *p,int *q,int n) {
int overflow=0;
for(int i=n-1;i<=0;--i) {
if( (*(p+i) +*(q+i)==2) && overflow==0 ) { *(result+i+1)=0;overflow=1; }
if( ( (*(p+i) + *(q+i))==2) && overflow==1) { *(result+i+1)=1;overflow=1; }
if( (*(p+i)+*(q+i))==1 && overflow==0) { *(result+i+1)=1;overflow=0;}
if( (*(p+i)+*(q+i))==1 && overflow==1) { *(result+i+1)=0;overflow=1; }
if((*(p+i)+*(q+i))==0 && overflow==1) { *(result+i+1)=1;overflow=0;}
else { *(result+i+1)=0; overflow=0; }
}
if(overflow==1) *(result)=1;
else *(result)=0;
cout<<"相加的二进制和是:"<<endl;
for(int i=0;i!=n+1;++i)
cout<<*(result+i);
cout<<endl;
return;
}
...全文
65 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
仙度瑞城 2011-09-01
  • 打赏
  • 举报
回复
帮你改了一下..现在可以了..编译运行结果正确..

//两个数组中存的二进制数,求和
#include <iostream>

using std::cout;
using std::cin;
using std::endl;

void ADD_BIT(int *result,int *p,int *q,int n);
int main() {
const int NUM=10;
int BitArray1[NUM]={1,0,1,1,1,1,0,0,1,1};
int BitArray2[NUM]={1,1,1,1,1,0,1,0,1,1};
int Result[NUM+1] = {0};//数组初始化
ADD_BIT(Result,BitArray1,BitArray2,NUM);
return 0;
}

void ADD_BIT(int *result,int *p,int *q,int n) {
int overflow=0;
for(int i=n-1;i>=0;--i)//你把大于号和小于号写反了
{
if( (*(p+i) +*(q+i)==2) && overflow==0 )
{
*(result+i+1)=0;overflow=1;
continue;//当前位运算结束以后保留当前位结果和进位标志后
//直接跳入下一个循环进行下一位的运算..
}
if( ( (*(p+i) + *(q+i))==2) && overflow==1)
{
*(result+i+1)=1;overflow=1;
continue;//同上
}
if( (*(p+i)+*(q+i))==1 && overflow==0)
{
*(result+i+1)=1;overflow=0;
continue;//同上
}
if( (*(p+i)+*(q+i))==1 && overflow==1)
{
*(result+i+1)=0;overflow=1;
continue;//同上
}
if((*(p+i)+*(q+i))==0 && overflow==1)
{
*(result+i+1)=1;overflow=0;
continue;//同上
}
else
{
*(result+i+1)=0; overflow=0;
continue;//同上
}
}
if(overflow==1) *(result)=1;
else *(result)=0;
cout<<"相加的二进制和是:"<<endl;
for(int i=0;i!=n+1;++i)
cout<<*(result+i);
cout<<endl;
getchar();
return;
}
仙度瑞城 2011-09-01
  • 打赏
  • 举报
回复
for(int i=n-1;i<=0;--i)
for循环一进来i = 9
判断i<=0不符合直接跳出循环..你说还用用么?
lrd408 2011-09-01
  • 打赏
  • 举报
回复
没人吗
仙度瑞城 2011-09-01
  • 打赏
  • 举报
回复
先占个座..
lrd408 2011-09-01
  • 打赏
  • 举报
回复
我说的不对
lrd408 2011-09-01
  • 打赏
  • 举报
回复
好像BitArray1的赋值还是对的,到BitArray2就不对了
wintree 2011-09-01
  • 打赏
  • 举报
回复
打上断点,一步步跳,你应该知道怎么回事吧?二进制想加你会不?
lrd408 2011-09-01
  • 打赏
  • 举报
回复
谢谢!
根据软件测试简历模板编写简历,让HR从万千简历中多看你一眼。通过测试基本功的指导,让面试官因你扎实的软件测试理论而留下深刻的印象。通过面试回答话术的指导,让你在面试时不卑不亢,从容应对,回答更具有专业性、积极性和逻辑性,机会永远都是留给有准备的人! 本课程提供的所有附件内容,建议大家下载,然后背诵下来,背诵后能够熟练的应用到各个测试场景中去。想要找到好工作,首先要自己下苦功夫。重要的事情说三遍:背诵附件内容、背诵附件内容、背诵附件内容 在知识学习的路上:愿你三冬暖,愿你春不寒,愿你天黑有灯,下雨有伞,愿你路上有良人相伴,愿你学得知识前路顺遂。 课程内容:第一章:课程简介1、课程介绍2、课程大纲 第二章:软件测试简历1、软件测试简历模板【基本信息:基本资料+教育经历】【描述指导】2、软件测试简历模板【专业技能】【描述指导】3、软件测试简历模板-【工作经历】【描述指导】4、软件测试简历模板【项目经历-WEB端】【项目描述指导】5、软件测试简历模板-【项目经历-APP端】【项目描述指导】 第三章:软件测试基本功1、软件测试基本功【必背理论知识内容介绍】2、软件测试基本功【软件质量+功能性需+非功能性需】3、软件测试基本功【缺陷表现形式+缺陷处理流程+缺陷分析方式等】4、软件测试基本功【软件测试标准:测试目标、原则、结束标志等】5、软件测试基本功【功能测试内容:界面、数据、操作、逻辑、接口】6、软件测试基本功【测试用例:框架搭建、设计思想、影响因素等】7、软件测试基本功【软件测试5个阶段:单元-集成-系统-验收-回归】8、软件测试基本功【软件测试类型:黑盒、白盒、性能、负载等】9、软件测试基本功【软件测试活动生命周期】 第四章:软件测试面试话术1、软件测试面试回答话术【面试前的准备】2、软件测试面试回答话术【面试的态度】3、软件测试面试回答话术【自我介绍、离职原因、加班看法、还有什么问题要问我】4、软件测试面试回答话术-【工作流程-介绍XX项目如何测试和项目收获】【回答指导】5、软件测试面试回答话术-【工作流程-QA工作流程、公司项目工作流程、是否做过敏捷】【回答指导】6、软件测试面试回答话术-【面试过程的随机问题】【回答指导

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧