求二维数组的最小值及其下标
时间: 2024-06-17 22:07:01 浏览: 112
要求二维数组的最小值及其下标,可以使用两重循环遍历数组,并使用变量来记录最小值和最小值所在的行、列下标。具体实现如下:
```c++
int min_val = arr[0];
int min_row = 0;
int min_col = 0;
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
if (arr[i][j] < min_val) {
min_val = arr[i][j];
min_row = i;
min_col = j;
}
}
}
// 输出最小值及其下标
cout << "最小值为:" << min_val << endl;
cout << "所在行下标为:" << min_row << endl;
cout << "所在列下标为:" << min_col << endl;
```
相关问题
Java实现 找二维数组最小值及下标
以下是Java程序实现找二维数组最小值及下标的示例代码:
```java
public class FindMinIn2DArray {
public static void main(String[] args) {
int[][] arr = { { 2, 3, 4 }, { 5, 6, 1 }, { 8, 9, 7 } };
int min = arr[0][0];
int minRow = 0;
int minCol = 0;
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
if (arr[i][j] < min) {
min = arr[i][j];
minRow = i;
minCol = j;
}
}
}
System.out.println("最小值为:" + min);
System.out.println("最小值所在行:" + minRow);
System.out.println("最小值所在列:" + minCol);
}
}
```
运行结果:
```
最小值为:1
最小值所在行:1
最小值所在列:2
```
该程序通过遍历二维数组的每个元素,找到最小值及其所在行列的下标,并输出结果。
一个二维数组,求整个数组的平均值、最大值及其下标、最小值及其下标,用C语言
来实现。谢谢!
非常感谢您的提问。根据您的要求,我可以为您提供以下 C 语言程序:
```c
#include <stdio.h>
#define ROWS 3 // 数组的行数
#define COLS 4 // 数组的列数
int main()
{
int arr[ROWS][COLS] = {{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}}; // 二维数组
int row, col; // 行和列的变量
double sum = 0; // 数组元素的总和
double avg = 0; // 数组元素的平均值
int max = arr[0][0]; // 数组元素的最大值
int max_row = 0; // 最大值所在的行
int max_col = 0; // 最大值所在的列
int min = arr[0][0]; // 数组元素的最小值
int min_row = 0; // 最小值所在的行
int min_col = 0; // 最小值所在的列
// 遍历整个数组,求和、比较大小
for (row = 0; row < ROWS; row++) {
for (col = 0; col < COLS; col++) {
sum += arr[row][col]; // 计算总和
if (arr[row][col] > max) {
max = arr[row][col]; // 更新最大值和其下标
max_row = row;
max_col = col;
}
if (arr[row][col] < min) {
min = arr[row][col]; // 更新最小值和其下标
min_row = row;
min_col = col;
}
}
}
avg = sum / (ROWS * COLS); // 计算平均值
// 输出结果
printf("数组的平均值为:%.2f\n", avg);
printf("数组的最大值为:%d,下标为[%d][%d]\n", max, max_row, max_col);
printf("数组的最小值为:%d,下标为[%d][%d]\n", min, min_row, min_col);
return 0;
}
```
运行结果如下:
```
数组的平均值为:6.50
数组的最大值为:12,下标为[2][3]
数组的最小值为:1,下标为[0][0]
```
希望这个程序能够帮助到您,如果您有其他问题,欢迎随时提出。
阅读全文