7-习题-3.海选女主角

#include <iostream>
#include <cmath>
using namespace std;
/*
Input
输入数据有多组,每组的第一行是两个整数m和n,表示应聘MM的总共的行列数,然后是m行整数,每行有n个,m和n的定义见题目的描述。

Output
对于每组输入数据,输出三个整数x,y和s,分别表示选中的MM的行号、列号和分数。
note:行号和列号从一开始,如果有多个MM的分数绝对值一样,那么输出排在最前面的一个(即行号最小的那个,如果行号相同则取列号最小的那个)。

Sample Input
2 3
1 4 -3
-7 3 0

Sample Output
2 1 -7
*/

int a[1000][1000];				//定义一个数组a,存放1000行,1000列
int main() {
	int m, n;					//定义m和n存放,行号 和 列号
	
	while (cin>>m>>n)			//定义while循环输入m(行号)和n(列号)
	{
		int max = -1, r, c;		//定义max并初始化为-1,r 和 c 存放,行号 和 列号

		for (int i = 0; i < m; i++)			//定义一个for循环,初始化i=0,当i小于m(行号)时,i自加一
		{			
			for (int j = 0; j < n; j++)		//定义一个for循环,初始化j=0,当i小于n(列号)时,j自加一
			{
				cin >> a[i][j];				//cin输出数组a的[行号][列号]
			}
		}

		for (int i = 0; i < m; i++)			//定义一个for循环,初始化i=0,当i小于m(行号)时,i自加一
		{
			for (int j = 0; j < n; j++)		//定义一个for循环,初始化j=0,当i小于n(列号)时,j自加一
			{
				int x = abs(a[i][j]);		//定义一个x 通过abs获取数组a里的数值的“绝对值”,“绝对值”的意思是“正数”不为负数!!
				if (x > max)				//循环判断 x 是否大于max,此时的x为数组a里的数值(绝对值)
				{
					max = x;				//如果x大于max时,则讲 x 赋值给 max
					r = i;					//如果x大于max时,则讲 i 赋值给 r(行号) 
					c = j;					//如果x大于max时,则讲 j 赋值给 c(列号)
				}
			}
		}
								//最后输出行号(r+1)列号(c + 1),和数组a[r][c]的值。 “因为数组是从0开始的,所有输出+1才是真正的行号列号”
		cout << (r + 1) << " " << (c + 1) << " " << a[r][c] << endl;		
	}


	return 0;
}

已发布

分类

来自

标签:

评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注