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<stdio.h>
#include<iostream>
using namespace std;
class Sum
{
private:
int a[4][4] ; //二维数组,用来存放要处理的数据
int s ; // 存放数组a外围元素之和
public:
Sum(int b[4][4]) ; //构造函数,用数组b初始化数组
void process() ; //求二维数组外各元素的和s
void print() ; //按照行列方式输出数组a的个元素之和,并输出外围各元素的和
};
Sum::Sum(int b[4][4])
{
int i ;
int j ;
for(i<0;i<4;i++)
{
for(j=0;j<4;j++)
{
a[i][j] = b[i][j] ;
}
}
}
void Sum::process()
{
int i,j ;
s = 0 ;
for(i=0;i<4;i++)
{
for(j=0;j<4; j++)
{
if(i == 0 || i == 3)
{
s += a[i][j];
}
}
}
s += a[1][0] + a[1][3] + a[2][0] + a[2][3] ;
}
void Sum::print()
{
int i ;
int j ;
cout << s << endl ;
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
cout << a[i][j] << " " ;
}
cout << endl ;
}
}
int main()
{
int b[4][4] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16} ;
Sum t1(b) ;
t1.process() ;
t1.print() ;
return 0;
}