题目详情
当前位置:首页 > 计算机考试 > 中级软件设计师
题目详情:
发布时间:2023-10-17 12:56:12

[简答题]【说明】 C++语言本身不提供对数组下标越界的判断。为了解决这一问题,在程序6中定义了相应的类模板,使得对厂任意类型的二维数组,可以在访问数组元素的同时,对行下标和列下标进行越界判断,并给出相应的提示信息。 #include<iostream.h> template <class T> class Array; template <class T> class ArrayBody { friend (1) T* tpBody; int iRows, iColumns, 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=true; if (j < 0 || j >=iColumns) column_error=true; if ( row_error==true || column_error == true) (3) } catch (char) { if (row_error==true) cerr << "行下标越界[" << iCurrentRow << "] "; if (column_error== true ) cerr << "列下标越界[" <<j << "]"; cout << "/n"; } return tpBody[iCurrentRow * iColumns +j]; }; ~ArrayBody ( ) { delete[]

更多"【说明】 C++语言本身不提供对数组下标越界的判断。为了解决这一问"的相关试题:

[简答题][说明] C++语言本身不提供对数组下标越界的判断。为了解决这一问题,在以下[C++程序]中定义了相应的类模板,使得对于任意类型的二维数组,可以在访问数组元素的同时,对行下标和列下标进行越界判断,并给出相应的提示信息。 [C++程序] #include <iostream.h> template <class T> class Array; template <Class T> class ArrayBody { friend (1) ; T* tpBody; int iRows,iColumns, 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 = true; if (j<0 || j>= iColumns) column_error = true; if (row_error == true || column_error == true) (3) ; } catch(char){ if (row_error == true) cerr << "行下标越界[" << iCurrentRow << "]"; if (column_error = true) cerr << "列下标越界[" << j << "]"; cout << "/n"; } retur
[多项选择]【说明】
C++语言本身不提供对数组下标越界的判断。为了解决这一问题,在程序6中定义了相应的类模板,使得对厂任意类型的二维数组,可以在访问数组元素的同时,对行下标和列下标进行越界判断,并给出相应的提示信息。
#include<iostream.h>
template <class T> class Array;
template <class T> class ArrayBody
friend (1)
T* tpBody;
int iRows, iColumns, 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=true;
if (j < 0 || j >=iColumns)
column_error=true;
if ( row_error==true || column_error == true)
(3)

catch (char)
if (row_error==true)
cerr << "行下标越界[" << iCurrentRow << "] ";
if (column_error== true )
cerr << "列下标越界[" <<j << "]";
cout << "/n";
<
[单项选择]在C语言中引用数组元素时,其数组下标的数据类型只能是( )。
A. 整型常量
B. 整型表达式
C. 整型常量或整型表达式
D. 任何类型的表达式
[单项选择]在使用Dim语句定义数组时,在缺省情况卜数组下标的下限为( )。
A. 0
B. 1
C. F
D. 必须指定下标
[填空题]在使用Dim语句定义数组时,在缺省情况下数组下标的下限为()。
[单项选择]在C语言中,引用数组元素时,其数组下标的数据类型允许是()。
A. 整型表达式
B. 整型常量
C. 整型常量或整型表达式
D. 任何类型的表达式
[填空题]在使用Dim语句定义数组时,在默认情况下数组下标的下限为 【10】
[单项选择]以下子例行程序用于实现向一维数组下标为P的数组元素处插入一个整数X
SUBROUTINE INSERT(B,N,P,X)
INTEGER B(N),X,P
DO 20 K=N-1,P,-1
B(K+1)=______
20 CONTINUE
B(P)=X
END
为使程序完整,应在______处放入( )。
A. X
B. K
C. B(P)
D. B(K)
[填空题]以下程序调用fun函数把x中的值插入到a数组下标为k的数组元素中。主函数中,n存放a数组中数据的个数。请填空。 #include void fun( int s[], int *n, int k, int x) { int i; for(i=*n-1; i>=k; i- -) s[ 【14】 ]=s[i]; s[k]=x; *n=*n+ 【15】 ; } main( ) { int a[20]={1,2,3,4,5,6,7,8,9,10,11}, i, x=0, k=6, n=11; fun(a, &n, k,x); for(i=0;i

我来回答:

购买搜题卡查看答案
[会员特权] 开通VIP, 查看 全部题目答案
[会员特权] 享免全部广告特权
推荐91天
¥36.8
¥80元
31天
¥20.8
¥40元
365天
¥88.8
¥188元
请选择支付方式
  • 微信支付
  • 支付宝支付
点击支付即表示同意并接受了《购买须知》
立即支付 系统将自动为您注册账号
请使用微信扫码支付

订单号:

截图扫码使用小程序[完全免费查看答案]
请不要关闭本页面,支付完成后请点击【支付完成】按钮
恭喜您,购买搜题卡成功
重要提示:请拍照或截图保存账号密码!
我要搜题网官网:https://www.woyaosouti.com
我已记住账号密码