c++でマトリクスクラスMatrixを作成し、4*4のマトリクスを格納し、マトリクス内の数を検索できます.

1856 ワード

要件は次のとおりです.
(1)プライベートデータメンバint p[4][4]:4*4のマトリクスの値を格納する.int n:行列の行数.4 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の値を出力する.
Matrix.h
#ifndef  _MA_H_
#define _MA_H_

class Matrix{
	int m_p[4][4];               //    4*4     。
    int m_n;                        //     。
    int m_x;                        //                   。
    int m_row;                   //         。
	int m_col;                     //         。
public:
	Matrix(int n, int x, int row , int col);       //    
    void input(int a[][4]);                //              。
    void find( );                                //                 ,           、   x、row、col 。
    void print( );                              //        。
};


#endif

Matrix.cpp
#include 
#include "Matrix.h"

Matrix::Matrix(int n , int x,  int row, int col)
{
	m_n = 4;
	m_x = 0;
	m_row= 0;
	m_col = 0;
}

void Matrix::input(int a[][4])
{
	for(int i=0; i<4; i++)
	{
		for(int j=0; j<4; j++)
		{
			m_p[i][j] = a[i][j];
		}
	}
}

void Matrix::find( )
{
	int m_x = m_p[0][0];

	for(int i=0; i<4; i++)
	{
		for(int j=0; j<4; j++)
		{
			if(m_p[i][j] <  m_x)
			{
				m_x = m_p[i][j];
				m_row = i;
				m_col = j;
			}
		}
	}

	std::cout<
main.cpp
#include 
#include "Matrix.h"

int main()
{
	int a[4][4];
	for(int i=0; i<4; i++)
	{
		for(int j=0; j<4; j++)
		{
			std::cin>>a[i][j];
		}
	}
	
	Matrix mat(4,0,4,4);
	mat.input(a);
	mat.find();
	mat.print();

	return 0;
}