用c++建立一個類SUM,求二維陣列外圍各元素的和,並且輸出陣列各元素及所求之和。
阿新 • • 發佈:2019-02-02
具體要求如下:
(1)私有資料成員
int a[4][4]:二維陣列,存放要處理的資料。
int s:存放陣列a外圍各元素的和。
(2)公有成員函式
SUM(int b[4][4]):建構函式,用陣列b初始化陣列a。
void process():求二維陣列外圍各元素的和s。
void print():按行列方式輸出陣列a的各元素值,並輸出外圍各元素的和。
(3)在主函式中完成對該類的測試。使用如下測試資料(外圍元素是指陰影部分的元素):
1234
5678
9101112
13141516
首先先建立一個工程SUM
SUM.h
main.cpp#ifndef _SUM_H_ #define _SUM_H_ class SUM{ private: int m_a[4][4]; //二維陣列,存放要處理的資料 int m_s; //存放陣列a外圍各元素的和 public: SUM(int b[4][4]); //建構函式,用陣列b初始化陣列a void process(); //求二維陣列外圍各元素的和s void print(); //按行列方式輸出陣列a的各元素值,並輸出外圍各元素的和 }; #endif
#include <iostream>
#include "SUM.h"
int main()
{
int b[4][4];
for(int i=0; i<4; i++)
{
for(int j=0; j<4; j++)
{
b[i][j] = i*4+j+1;
}
}
SUM sum(b);
sum.process();
sum.print();
return 0;
}
SUM.cpp
#include <iostream> #include "SUM.h" SUM::SUM(int b[4][4]) { for(int i=0; i<4; i++) { for(int j=0; j<4; j++) { m_a[i][j] = b[i][j]; } } } void SUM::process() { m_s = 0; for(int i=0; i<4; i++) { for(int j=0; j<4; j++) { if(i==0 || i==3 || j==0 || j==3) { m_s += m_a[i][j]; } } } } void SUM::print() { int count = 0; for(int i=0; i<4; i++) { for(int j=0; j<4; j++) { std::cout<<m_a[i][j]<<'\t'; count++; } if(count % 4 == 0) { std::cout<<std::endl; } } std::cout<<"外圍陣列元素之和:"<<m_s<<std::endl; }