大家好,今天是我第一天发文章,请多多关照!
今天来给大家看一下二维数组的练习题:寻找最小数
输入一个二维数组,找出其中最小的数,输出它的值以及所在行号和列号。
输入格式
第一行两个整数n和m,1≤n,m≤1000;
接下来共n行,每行m个整数(范围0~32767),表示一个n*m的二维数组。
输出格式
一行三个数,分别为最小数、最小值所在的行号和列号,中间用空格分隔。
如果存在多个相同的最小数,输出行号最小的,行号相同输出列号最小的。
输入/输出例子
输入:
5 5
5 6 7 8 9
4 5 6 7 8
3 4 5 2 1
2 3 4 9 0
1 2 5 4 8
输出:
0 4 5
样例解释:
在此数组中,0是最小的,它所处的位置是第4行第5列,所以输出“0 4 5”。
虽说这题要求输入二维数组,而且也是二维数组的练习题,但其实可以不用二维数组就可以做了
话不多说,上代码:
#include<bits/stdc++.h>
using namespace std;
int a,minn=40000,n,m,x,y;
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
{
cin>>a;
if(a<minn) //用打擂台的方法求出最小数
{
minn=a;
x=i; //记录行
y=j; //记录列
}
}
cout<<minn<<' '<<x<<' '<<y;
return 0;
}