建立一个类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
{
private:
int a[4][4];
int s; //存放外围之和
public:
SUM(int b[4][4]); //初始化
void process();
void print();
};
SUM::SUM(int b[4][4])
{
int s=0;
for(int i=0;i<4;i++)
for(int j=0;j<4;j++)
{
a[i][j]=b[i][j];
}
}
void SUM::process()
{
for(int i=0;i<4;i++)
for(int j=0;j<4;j++)
{
if(i==0|j==0|i==3|j==3)
s=s+a[i][j];
}
}
void SUM::print()
{
for(int i=0;i<4;i++)
{
for(int j=0;j<4;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
cout<<"s="<<s<<endl;
}
int main()
{
int c=0;
int b[4][4];
for(int i=0;i<4;i++)
for(int j=0;j<4;j++)
{
c++;
b[i][j]=c;
}
SUM test(b); // 传参二位数组,直接用其名
test.process();
test.print();
return 0;
}
函数传参二位数组,直接用其名