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 ; }