题目
2.建立一个类SUM,求二维数组外围各元素的和,并且输出数组各元素及所求之和。具体要求如下:
(1)私有数据成员
int a[4][4]:二维数组,存放要处理的数据。
int s:存放数组a外围各元素的和。
(2)公有成员函数
SUM(int b[4][4]):构造函数,用数组b初始化数组a。
void process():求二维数组外围各元素的和s。
void print():按行列方式输出数组a的各元素值,并输出外围各元素的和。
(3)在主函数中完成对该类的测试。使用如下测试数据(外围元素是指阴影部分的元素):
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
代码
#include <iostream>
using namespace std;
class SUM
{
public:
SUM(int b[4][4]);
void process();
void print();
private:
int a[4][4];
int s;
};
SUM::SUM(int b[4][4])
{
for (int i = 0; i < 4; i++)
{
for (int j = 0; j < 4; j++)
{
a[i][j] = b[i][j];
}
}
}
void SUM::process()
{
int sum1 = 0, sum2 = 0, sum3 = 0, sum4 = 0;
for (int i = 0; i < 4; i++)
{
sum1 += a[0][i];
sum2 += a[3][i];
}
for (int i = 1; i < 3; i++)
{
sum3 += a[i][0];
sum4 += a[i][3];
}
s = sum1 + sum2 + sum3 + sum4;
}
void SUM::print()
{
for (int i = 0; i < 4; i++)
{
for (int j = 0; j < 4; j++)
{
cout << a[i][j] << " ";
}
cout << endl;
}
cout << "---------------------" << endl;
cout << "s = " << s << endl;
}
int main()
{
int b[4][4] = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 };
SUM s1(b);
s1.process();
s1.print();
return 0;
}