C++ 返回数组最小值下标代码
时间: 2023-12-30 13:03:53 浏览: 72
下面是一个返回数组最小值下标的 C++ 代码示例:
```cpp
#include <iostream>
using namespace std;
int findMinIndex(int arr[], int size) {
int minIndex = 0;
for (int i = 1; i < size; i++) {
if (arr[i] < arr[minIndex]) {
minIndex = i;
}
}
return minIndex;
}
int main() {
int arr[] = {5, 3, 9, 2, 7};
int size = sizeof(arr) / sizeof(arr[0]);
int minIndex = findMinIndex(arr, size);
cout << "The minimum value is " << arr[minIndex] << " at index " << minIndex << endl;
return 0;
}
```
在这个例子中,`findMinIndex` 函数接受一个整数数组和数组大小作为参数,使用一个循环来找到数组中最小值的下标,最后将该下标返回。在主函数中,我们声明了一个整数数组,调用 `findMinIndex` 函数来获取最小值的下标,然后输出最小值和下标。
相关问题
c++编写一个求一个int类型长度为4的数组的最小值,并记录最小值下标
好的,代码如下:
```c++
#include <iostream>
using namespace std;
int main() {
int arr[4] = {3, 1, 4, 2};
int min_val = arr[0];
int min_index = 0;
for (int i = 1; i < 4; i++) {
if (arr[i] < min_val) {
min_val = arr[i];
min_index = i;
}
}
cout << "最小值为:" << min_val << endl;
cout << "最小值下标为:" << min_index << endl;
return 0;
}
```
这个程序会输出:
```
最小值为:1
最小值下标为:1
```
程序中,我们声明了一个长度为 4 的 int 数组 arr,然后遍历了这个数组,找到了其中的最小值和对应的下标。最后输出了这两个值。
用c++语言编写一个函数模板findmin(...),实现对一个基本类型数组中元素最小值的查找,能够返回最小值,以及得到最小值的数组下标
好的,可以使用C++语言编写一个函数模板findmin,实现对一个基本类型数组中元素最小值的查找,并返回最小值以及最小值的下标。以下是一个实现示例:
```c++
#include <iostream>
using namespace std;
template <typename T>
void findmin(T* arr, int size, T& minvalue, int& minindex)
{
if (size <= 0) {
cout << "数组为空" << endl;
return;
}
minvalue = arr[0];
minindex = 0;
for (int i = 1; i < size; i++) {
if (arr[i] < minvalue) {
minvalue = arr[i];
minindex = i;
}
}
}
int main()
{
int arr[] = { 5, 9, 3, 7, 2 };
int size = sizeof(arr) / sizeof(arr[0]);
int minvalue, minindex;
findmin(arr, size, minvalue, minindex);
cout << "最小值为:" << minvalue << endl;
cout << "最小值的下标为:" << minindex << endl;
return 0;
}
```
在这个示例中,我们使用模板参数T来表示数组元素的类型,使用指针来传递数组参数。我们首先判断数组是否为空,然后遍历数组,查找最小值并记录其下标。最后将最小值和最小值的下标通过引用参数返回。