gpt4 book ai didi

c++ - 带有三个参数的函数 : pointer to double array, 指向最小元素和指向最大元素的指针

转载 作者:行者123 更新时间:2023-11-28 06:21:25 25 4
gpt4 key购买 nike

我的任务是编写一个采用三个参数的函数:指向 double 组的指针、指向最小值的指针和指向使用动态数组的最大元素的指针。这是我的代码,我是编程和指针的新手,但我正在尝试。

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

void readArr(double* arr_ptr, int numb)
{
for(int i = 0 ; i < numb ; i++)
{
cin >> arr_ptr[i];
}
}

void minMax(double* arr_ptr, double* min_ptr, double* max_ptr, int numb)
{


for(int i =1; 0 < numb; i++)
{
if((*arr_ptr + i) < (*min_ptr))
{
min_ptr = arr_ptr + i ; //ptr
}
}
for (i=1; i<numb; i++)
{
if (arr[i] > *max_ptr)
{
*max_ptr = arr[i];
}
}

int main()
{
cout << "How many elements? " << endl;
int numb;
cin >> numb;

double* arr = new double[numb];
readArr(arr, numb);
double* min = NULL;
double* max = NULL;
minMax(arr, min, max, numb);
cout <<(*min) << " " << (*max) << endl;



if(arr) // if arr != NULL
{
delete [] arr;
arr = NULL;
}

}

你能告诉我函数 minMax 应该是什么样子吗?

最佳答案

C/C++不能返回多个返回值。

因此,为了在一次调用中返回 minmax,您需要通过指针或引用(仅限 C++)传递预分配的 minmax 变量,让您的函数修改它们。

所以当你调用这个函数时:

double min, max;// first create the variable that hold the results

minMax(arr_ptr, &min, &max, numb);// pass the address of them in
// so that function can modify
// them by writing into those
// addresses

关于c++ - 带有三个参数的函数 : pointer to double array, 指向最小元素和指向最大元素的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29259425/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com