问答题
数据流图4-1(住宅安全系统顶层图)中的A和B分别是什么
【参考答案】
A:传感器;B:报警器
点击查看答案&解析
<上一题
目录
下一题>
热门
试题
问答题
阅读下列说明和C++程序,将应填入横线处的语句写在答题纸的对应栏内 [程序6说明] C++语言本身不提供对数组下标越界的判断。为了解决这一问题,在程序6中定义了相应的类模板,使得对于任意类型的二维数组,可以在访问数组元素的同时,对行下标和列下标进行越界判断,并给出相应的提示信息。 [程序6] #include<ioStream.h> template<class T>class Array; template<class T>class ArrayBody{ friend (1) ; T* tpBody; int iRows,iCurrentRow; ArrayBOdy(int iRsz,int iCsz){ tpBody= (2) ; iRows=iRsz,iColumns=iCsz;iCurrentRow=-1; } public: T& operator[](int j) { bool row_error,column_error; row_error=column_error=false; try{ if(iCurrentRow<0||iCurrentRow≥iRows) row_error=; if(j<0|| j≥iColumns column_error=; if(row_error==true || column_error==true) (3) ; } eatch(char) { if(row error==true) cerr<<“行下标越界[“<<iCurrentRow<<”]”; if(column error==true) cerr<<“列下标越界[“<<j<<”]”; cout<<“ n”; } return tpBody[iCurrentRow * iColumns+j]; } ~ArrayBody(){delere[]tpBody;} }; template<class T>class Array { ArrayBody<T> tBody; public: ArrayBody<T> & operator[](int i){ (4) ; return tBody; }; void main() { Array<int> a1(10,20); Array<double> a2(3,5); int b1; double b2; b1=a1[-5][10]; * 有越界提示:行下标越界[-5] * b1=a1[10][15]; * 有越界提示:行下标越界[10] * b1=a1[1][4]; * 没有越界提示 * b2=a2[2][6]; * 有越界提示:列下标越界[6] * b2=a2[10][20]; * 有越界提示:行下标越界[10]列下标越界[20] * b2=a2[1][4]; * 没有越界提示 * }
点击查看答案&解析
问答题
阅读下列函数说明和C函数,将应填入▁处的字句写在答题纸的对应栏内。 [函数5说明] 函数DeleteNode(Bitree *r,int e)的功能是:在树根结点指针为r的二叉查找(排序)树上删除键值为e的结点,若删除成功,则函数返回0,否则函数返回-1。二叉查找树结点的类型定义为: typedef struct Tnode{ int data; *结点的键值* struct Tnode *Lchild,*Rchild; * 指向左、右子树的指针 * }*Bitree; 在二叉查找树上删除一个结点时,要考虑三种情况: ①若待删除的结点p是叶子结点,则直接删除该结点; ②若待删除的结点p只有一个子结点,则将这个子结点与待删除结点的父结点直接连接,然后删除结点p; ③若待删除的结点p有两个子结点,则在其左子树上,用中序遍历寻找关键值最大的结点s,用结点s的值代替结点p的值,然后删除结点s,结点s必属于上述①、②情况之一。[函数5] int DeleteNode(Bitree *r,int e){ Bitree p=* r,pp,s,c; while( (1) ){ * 从树根结点出发查找键值为e的结点 * pp=p; if(e<p->data) p=p->Lchild; else p=p->Rchild } if(! p)return-1; * 查找失败 * if(p->Lchild && p->Rchild){ * 处理情况③ * s= (2) ;pp=p; while( (3) ){pp=s;s=s->Rchild;} p->dara=s->data;P=s; } * 处理情况①、② * if( (4) )c=p->Lchild; else c=p->Rchild if(p==*r) *r=c; else if( (5) )pp->Lchild=c; else pp->Rchild=c; free(p); return 0; }
点击查看答案&解析
相关试题
阅读下列说明和C++程序,将应填入横线处...
阅读下列函数说明和C函数,将应填入▁处的...
在COMET型计算机上可以使用试卷上所附的CAS...
在需求分析阶段,采用UML的用例图(use ca...
试将[算法2-1)和[算法2-2]中(1...