21xrx.com
2025-04-01 00:25:27 Tuesday
文章检索 我的文章 写文章
C++从键盘输入二维数组并找出最大值和最小值行列位置
2023-06-29 21:09:45 深夜i     32     0
C++ 二维数组 最大值 最小值 行列位置

C++语言是一门用于计算机编程的高级编程语言,它拥有强大的功能,可以方便地实现对复杂数据的处理,例如输入一个二维数组并找出其最大值和最小值的行列位置。

首先,在C++中,我们可以使用多种方法输入二维数组,其中最常见的方法是使用嵌套的for循环。在嵌套的for循环中,可以使用cin语句搭配数组下标来逐个输入数组中的元素,例如:

int a[3][3];  //定义一个3x3的二维数组
for(int i=0;i<3;i++)
{
 for(int j=0;j<3;j++)
 {
  cin>>a[i][j];  //使用cin语句输入数组中的元素
 }
}

然后,我们需要编写一个函数来找出该二维数组的最大值和最小值以及它们所在的行列位置。具体实现方法如下:

void FindMaxMin(int a[3][3])
{
 //定义变量用于存储最大值、最小值以及它们所在的行列位置
 int max=a[0][0], min=a[0][0], max_i=0, max_j=0, min_i=0, min_j=0;
 
 //遍历二维数组,逐个比较元素的大小
 for(int i=0;i<3;i++)
 {
  for(int j=0;j<3;j++)
  {
   if(a[i][j]>max)  //如果找到了一个更大的元素
   {
    max=a[i][j];  //更新最大值
    max_i=i;    //记录最大值的行号
    max_j=j;    //记录最大值的列号
   }
   if(a[i][j]<min)  //如果找到了一个更小的元素
   {
    min=a[i][j];  //更新最小值
    min_i=i;    //记录最小值的行号
    min_j=j;    //记录最小值的列号
   }
  }
 }
 
 //输出结果
 cout<<"最大值为"<<max<<",其所在位置为第"<<max_i+1<<"行第"<<max_j+1<<"列"<<endl;
 cout<<"最小值为"<<min<<",其所在位置为第"<<min_i+1<<"行第"<<min_j+1<<"列"<<endl;
}

最后,在主函数中,我们只需调用这个函数,就可以输入并处理二维数组了:

int main()
{
 int a[3][3];  //定义一个3x3的二维数组
 cout<<"请输入二维数组:"<<endl;
 for(int i=0;i<3;i++)
 {
  for(int j=0;j<3;j++)
  {
   cin>>a[i][j];  //使用cin语句输入数组中的元素
  }
 }
 FindMaxMin(a);  //调用FindMaxMin函数,输出最大值和最小值以及它们的行列位置
 return 0;
}

从键盘输入二维数组并找出最大值和最小值的行列位置,这个任务并不难,只需使用C++语言的基本语法和函数库即可。通过本文的介绍,相信读者已经掌握了该任务的实现方法,并且能够通过自己的练习和实践进一步提高。

  
  

评论区

请求出错了