找出二维数组所有所在行上的最小值与其坐标

以3*3矩阵为例

【样例输入】

1 2 3

4 2 5

3 5 6 

【样例输出】

鞍点坐标:(0,0),值:1

鞍点坐标:(1,1),值:2

鞍点坐标:(2,0),值:3

这段代码好理解一点

#include
using namespace std;
int main()
{
	int a[3][3];
	int i, j, min, n; int n1 = 0, n2 = 0, n3 = 0;
	for (i = 0; i < 3; i++)//行
	{
		for (j = 0; j < 3; j++)//列
		{
			cin >> a[i][j];
		/*	cout << a[i][j]<<" ";*/
		}
		/*cout << endl;*/
	}
		
	  for (n = 0; n < 3; n++)
	  {
		  min = a[0][0];
		  if (a[0][n] < min)
		  {
			  min = a[0][n];
			  n1 = n;
		  }
	  }
	  cout <<"鞍点坐标:(0"<<","<

这段代码标准一点

​
#include
using namespace std;
int find(int matrix[3][3], int rows, int column) 
{
	for (int i = 0; i < rows; ++i) {
		int minVal = matrix[i][0];//初始化为每行的第0列
		int minCol = 0;//表示第几列

		for (int j = 1; j < cols; ++j) {
			if (matrix[i][j] < minVal) {
				minVal = matrix[i][j];
				minCol = j;
			}
		}
		if (i == rows - 1) {
			cout << "鞍点坐标:(" << i << "," << minCol << "),值:" << minVal;
		}//如果i等于rows - 1,那么就表示这是矩阵的最后一行,因此在输出鞍点信息后不需要再输出换行符。否则,就会在输出鞍点信息后输出一个换行符,为下一行的输出做准备。
		else {
			cout << "鞍点坐标:(" << i << "," << minCol << "),值:" << minVal << endl;
		}
	}
	return 0;
}

int main() 
{
	int matrix[3][3];
	for (int i = 0; i < 3; i++) {
		for (int j = 0; j < 3; j++) {
			cin >> matrix[i][j];
		}
	}
	find(matrix, 3, 3);
	return 0;
}

​

你可能感兴趣的:(c++,算法,开发语言)