建立一個矩陣類Matrix,存儲一個4*4的矩陣並能在矩陣中查找某數。要求如下:
(1)私有數據成員
int p[4][4]:存儲一個4*4的矩陣的值。
int n:矩陣的行數。
int x:存儲根據查找要求在矩陣中要查找到的某數。
int row,col:存儲該數所在的行、列值。
(2)公有成員函數
構造函數:初始化n的值爲4,x、row、col爲0。
void input(int a[][4]):將一個矩陣賦給該對象中的數組。
void find( ):在該對象存儲的矩陣中查找值最小的數,保存該數及該數所在的行、列值到x、row、col中。
void print( ):按行輸出矩陣的值。
(3)在主函數中測試該類,使用以下測試數據,輸出矩陣的值,查找值最小的數並輸出x、row、col的值。
// class6.cpp : 定義控制檯應用程序的入口點。
//建立一個矩陣類Matrix,存儲一個4*4的矩陣並能在矩陣中查找某數
#include "stdafx.h"
#include<iostream>
using namespace std;
class Matrix
{
public:
Matrix(){n=4;x=0;row=0;col=0;};//構造函數:初始化n的值爲4,x、row、col爲0。
void input(int a[][4]);//將一個矩陣賦給該對象中的數組。
void find( );//在該對象存儲的矩陣中查找值最小的數,保存該數及該數所在的行、列值到x、row、col中。
void print( );//按行輸出矩陣的值。
private:
int p[4][4];//存儲一個4*4的矩陣的值。
int n;//矩陣的行數。
int x;//存儲根據查找要求在矩陣中要查找到的某數。
int row,col;//存儲該數所在的行、列值。
};
void Matrix::input(int a[4][4])
{
int i,j;
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
p[i][j]=a[i][j];
}
}
}
void Matrix::find()
{
int i,j;
int min=p[0][0];
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
if(p[i][j]<=min)
{
min=p[i][j];
row=i+1;
col=j+1;
}
}
x=min;
}
}
void Matrix::print()
{
cout<<"The minimum number is:"<<x<<endl;
cout<<"row:"<<col<<" col:"<<row<<endl;
}
int _tmain(int argc, _TCHAR* argv[])
{
int i,j;
int a[4][4];
cout<<"input number :"<<endl;
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
cin>>a[i][j];
}
}
Matrix M;
M.input(a);
M.find();
M.print();
return 0;
}