C++ 数组最小值和最大值下标查找代码

以下代码展示了如何使用 C++ 查找数组中最小值和最大值的下标。

#include <iostream>
#include <cmath>
using namespace std;

void find(int* arr, int len, int* minpos, int* maxpos)
{
    int minVal = arr[0];
    int maxVal = arr[0];
    int minIdx = 0;
    int maxIdx = 0;

    for (int i = 0; i < len; i++)
    {
        if (arr[i] < minVal)
        {
            minVal = arr[i];
            minIdx = i;
        }
        if (arr[i] > maxVal)
        {
            maxVal = arr[i];
            maxIdx = i;
        }
    }

    *minpos = minIdx;
    *maxpos = maxIdx;
}

int main()
{
    int len;
    cin >> len;
    int a = 0;
    int b = 0;

    int* arr = new int[len]();
    for (int j = 0; j < len; j++)
    {
        cin >> arr[j];
    }

    find(arr, len, &a, &b);
    cout << a << ',' << b << endl;

    delete[] arr;

    return 0;
}

代码说明:

  1. 函数 find

    • 接受数组指针 arr、数组长度 len 以及指向最小值下标和最大值下标的指针 minposmaxpos
    • 初始化 minValmaxVal 为数组第一个元素,minIdxmaxIdx 为 0。
    • 遍历数组,比较每个元素与 minValmaxVal,更新最小值和最大值以及对应下标。
    • 最后将 minIdxmaxIdx 赋值给 minposmaxpos
  2. 主函数 main

    • 输入数组长度 len
    • 动态分配数组内存。
    • 输入数组元素。
    • 调用 find 函数查找最小值和最大值下标。
    • 打印最小值和最大值下标。
    • 释放数组内存。

使用方法:

  1. 编译并运行代码。
  2. 输入数组长度,然后输入数组元素。
  3. 程序将输出最小值和最大值的下标。

示例:

输入:

5
10 5 8 12 2

输出:

4,3

注意:

  • 代码使用了动态内存分配,请确保在程序结束时释放内存。
  • 代码中 cmath 库未被使用,可以删除。
  • 代码可以根据需求修改,例如添加异常处理等功能。
C++ 数组最小值和最大值下标查找代码

原文地址: https://www.cveoy.top/t/topic/Ngb 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录