一个C++编程题,请教高手!

试定义一个类,Array,实现由一个二维数组派生出另一个新二维数组,新数组的行数和列数分别为原数组的列数和行数,且元素值为原数组中与该元素同序的元素所在的行和列的所有元素... 试定义一个类,Array,实现由一个二维数组派生出另一个新二维数组,新数组的行数和列数分别为原数组的列数和行数,且元素值为原数组中与该元素同序的元素所在的行和列的所有元素的平均值.所谓同序元素,指的是两个数组中存储顺序相同的元素.例如:定义两个数组a[4][5],b[5][4],其中b[1][1]为数组b的第5个元素,则a的第5个元素a[1][0]为b[1][1]的同序元素,因此b[1][1]的值为a的第一行和第0列的所有元素的平均值, 即(a[0][0]+a[1][0]+a[2][0]+a[3][0]+a[1][1]+a[1][2]+a[1][3]+a[1][4])/8,其中a[1][0]不重复使用。 具体要求如下: l 私有成员 float a[4][5],b[5][4]:数组a和派生数组b l 公有成员 Array(float t[4][5]):构造函数,初始化数组a,并且将b的所有元素值置为0 void fun():按照题目的要求,求得数组b的值 void print():按照矩阵形式输出两个数组 在主函数中定义一个4行5列的二维数组,再利用它初始化一个Array对象,调用相关成员函数来完成类Array的测试: 输入输出实例: 数组a: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 数组b: 6 6.375 6.75 7.125 7.5 8.5 8.875 9.25 9.625 10 11 11.375 11.75 12.125 12.5 13.5 13.875 14.25 14.625 15 展开
 我来答
梦风儿7098
推荐于2016-04-22 · TA获得超过149个赞
知道答主
回答量:185
采纳率:50%
帮助的人:66.3万
展开全部
class ArrayText { private: float a[4][5]; float b[5][4]; public: ArrayText(float t[4][5]) //初始化数组 { for(int i=0;i<4;i++) { for(int j=0;j<5;j++) { a[i][j]=t[i][j]; b[j][i]=0; } } }; void fun() { for(int i=0;i<5;i++) for(int j=0;j<4;j++) { int t=i*4+j+1; //b中第几个元素 int p=(t-1)/5,q=(t-1)%5; //a中行列标 for(int t=0;t<4;t++) //求b { b[i][j]+=a[p][t]+a[t][q]; } b[i][j]+=a[p][4]-a[p][q]; b[i][j]/=8.0; } }; void print() { Console::WriteLine(); for(int i=0;i<5;i++) { for(int j=0;j<4;j++) Console::Write(b[i][j]+" "); Console::WriteLine(); } }; }; int main(array<System::String ^> ^args) { float a[4][5]; int t=0; for(int i=0;i<4;i++) { for(int j=0;j<5;j++) { a[i][j]=++t; } } ArrayText arr(a); arr.fun(); arr.print(); Console::Read(); return 0; }
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式