3.建立一个矩阵类Matrix,存储一个44的矩阵并能在矩阵中查找某数。要求如下:
(1)私有数据成员
int p[4][4]:存储一个44的矩阵的值。
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的值。
#include<iostream>
using namespace std;
class Matrix
{
private:
int p[4][4] ;
int n ;
int x ;
int row,col ;
public:
Matrix() ; //初始化n的值为4,x,row,col的值为0
void input(int a[][4]) ; //将一个矩阵对象赋值给该对象中的数组
void find() ; //在该对象存储的矩阵中查找值最小的数,保存该数所在的行,列值到x,row,col中
void print() ; //按行输出矩阵的值
};
Matrix::Matrix()
{
n = 4 ;
x = 0 ;
row = 0 ;
col = 0 ;
}
void Matrix::input(int a[][4])
{
int i ;
int j ;
for (i = 0 ; i < 4 ; i++)
{
for(j = 0 ; j < 4 ; j++)
{
p[i][j] = a [i][j];
}
}
}
void Matrix::find()
{
int i ;
int j ;
x = p[0][0];
row = 1 ;
col = 1 ;
for(i = 0;i < 4 ; i++)
{
for(j = 0;j < 4;j++)
{
if(p[i][j] < x)
{
x = p[i][j];
row = i+1 ;
col = j+1 ;
}
}
}
}
void Matrix::print()
{
int i ;
int j ;
cout << "最小值 = " <<x << endl ;
cout <<"处于第"<< row <<"行" ;
cout << "第" << col << "列"<< endl ;
for(i = 0 ; i < 4 ;i++)
{
for(j = 0 ; j < 4 ; j++)
{
cout << p[i][j] << " " ;
if(j == 3)
{
cout << endl ;
}
}
}
}
int main ()
{
int a[4][4] = {8,5,4,6,7,2,9,7,5,9,4,3,5,98,4,6} ;
Matrix t1 ;
t1.input(a) ;
t1.find() ;
t1.print();
return 0 ;
}