请用C++写!发送在评论区即可。
问题一:
定义一个类名为Array,为指针变量p动态申请空间,并初始化。对p所指向的一维数组逆序排序。具体要求如下:
1)私有数据成员
int *p;
2)公有成员函数
Array(int *t): //构造函数,用参数初始化数据成员
void fun(): //功能函数,实现对一维数组进行逆序
void show()://功能函数, 输出数据成员
~Array(); //析构函数,撤销对象。
3)在主函数中对类测试。例如int a[10]={1,2,3,4,5,6,7,8,9,0};
问题二:
定义一个类Array, 它的数据成员和成员函数具体要求如下:
1)私有数据:
int b[4][5];
int s;
2)公有成员函数:
Array(int t[][5]);//功能为二维数组b初始化
void sum(); // 功能为求二维数组b外围元素之和为s
void fun(); //对二维数组b按列前移
void print(); //功能为以矩阵形式输出二维数组元素
3)用类定义对象array,并用对象array调用成员函数求出二维数组外围元素之和,按列前移,再求二维数组外围元素之和,输出二维数组元素。

c++基础题,题型相近,写出第一个第二个很快就能完成,需要完整代码,急!!
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 天际的海浪 2022-06-25 21:27关注
获得5.00元问题酬金 代码1
#include <iostream> #include <math.h> using namespace std; #define N 10 class Array { private: int *p; public: Array(int *t) { p = new int[N]; for (int i = 0; i < N; i++) { p[i] = t[i]; } } ~Array() { delete p; } void fun() { for (int i = 0; i < N/2; i++) { int t = p[i]; p[i] = p[N-1-i]; p[N-1-i] = t; } } void show() { for (int i = 0; i < N; i++) { cout << p[i] << " "; } cout << endl; } }; int main() { int a[10] = {1,2,3,4,5,6,7,8,9,0}; Array arr(a); arr.show(); arr.fun(); arr.show(); return 0; }
代码2
#include <iostream> #include <math.h> using namespace std; class Array { private: int b[4][5]; int s; public: Array(int t[][5]) { for (int i = 0; i < 4; i++) { for (int j = 0; j < 5; j++) { b[i][j] = t[i][j]; } } } void sum() { s = 0; for (int i = 0; i < 5; i++) { s += b[0][i] + b[3][i]; } for (int i = 1; i < 3; i++) { s += b[i][0] + b[i][4]; } cout << "外围元素之和:" << s << endl; } void fun() { for (int i = 0; i < 4; i++) { int t = b[i][0]; for (int j = 0; j < 4; j++) { b[i][j] = b[i][j+1]; } b[i][4] = t; } } void print() { for (int i = 0; i < 4; i++) { for (int j = 0; j < 5; j++) { cout << b[i][j] << "\t"; } cout << endl; } } }; int main() { int a[4][5] = { {1,2,3,4,5}, {6,7,8,9,10}, {11,12,13,14,15}, {16,17,18,19,20} }; Array arr(a); arr.print(); arr.sum(); arr.fun(); arr.sum(); arr.print(); return 0; }
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!
解决 1无用