问答题
编程题(20分)
【题目】
试定义一个类Array,实现由一个数组派生出另一个数组,派生规则如下:新数组的元素取值为原数组中相同位置元素的左、右两个相邻元素前后拼接后形成的整数(左邻元素在前,右临元素在后)。规定最左(右)列元素的左(右)临元素为该元素所在行的最右(左)侧的元素,具体要求如下:
(1)私有数据成员
int a[3][4]:原数组
int b[3][4]:派生数组
(2)公有成员函数
Array(int t[][4],int n):构造函数,利用参数t的前n行元素初始化数据成员a
int nn(int t1,int t2):返回t1、t2拼接后形成的整数(t1在前,t2在后)
void fun() :按题意生成新数组,并将结果存放到数据成员b中
void print():按矩阵形式输出成员数组
(3)在主函数中对该类进行测试
输出示例:
原数组:
41 67 34 0
69 24 78 58
62 64 5 45
派生数组
67 4134 670 3441
5824 6978 2458 7869
4564 625 6445 562
【要求】
源程序文件名必须为myfb.cpp,并放在T盘根目录下,供阅卷用
【正确答案】#include
#include
class Array{
int a[3][4],b[3][4];
public:
Array(int t[][4],int n)
{
for(int i=0;i3?0:d;
b[i][j]=nn(a[i][u],a[i][d]);
}
}
void print()
{
cout<<"原有数组"<
【答案解析】