以 C/C++ 为单位的数组中最小值的地址
Address of minimum value in an array in C/C++
刚开始C/C++
一周。我有一个函数,它将指向数组的指针作为参数。在函数内操作此输入数组会导致另一个(全局定义的(数组发生变化。 我需要查找并返回这个(全局定义的(浮点数组中最小值的地址。在C++中,我可以用std::min_element()
相对容易地做到这一点,因为这返回了一个迭代器。有什么方法可以在 C 中做到这一点吗?我可以编写一个循环来查找数组中的最小值,但不确定如何访问其地址?这是(pseduo(代码。
globalArray[100] = {0}
float *DoSomething(float *array)
{
if (conditionMet == 1)
{ Do something to array that modifies globalArray;}
float min;
min = globalArray[0];
for (int i = 0; i <100; i++)
{
if (globalArray[i] < min)
min = globalArray[i];
}
return &min;
}
您需要保留一个额外的变量来跟踪索引。
min = globalArray[0];
int minIndex = 0;
for (int i = 0; i <100; i++)
{
if (globalArray[i] < min) {
min = globalArray[i];
minIndex = i;
}
}
return &globalArray[minIndex];
或者,您可以使用额外的变量来跟踪指针。
min = globalArray[0];
float* minPointer = globalArray;
for (int i = 0; i <100; i++)
{
if (globalArray[i] < min) {
min = globalArray[i];
minPointer = globalArray + i;
}
}
return minPointer;
相关文章:
- 使用递归的数组的最小值.这是怎么回事
- 在二维数组中查找最小值和最大值?
- 有没有办法使用递归函数找到数组中最小值的 INDEX?C++
- 查找数组中第一个最小值和最后一个最大值元素之间的算术平均值
- 需要使用模板查找数组的第二个最小和最小值
- CUDA - 将 float3 数组的 (x,y,z) 分量的最小值/最大值分开?
- 查找包含 N 个元素的数组的最小值和最大值
- 在不进行排序的情况下查找数组中n个最小值的索引
- 在索引0为0的数组中查找非零最小值C++
- 使用数组将最后一个最大值更改为第一个最小值
- 以 C/C++ 为单位的数组中最小值的地址
- 如何在给定数组的任何子数组(任何大小)中找到最大值(或最小值)?
- 有没有办法在递归中使用指针来查找数组的最小值?
- 构造大小为 N 的数组 A 和大小为 1 的数组 A,使得所有 A[i]*A[j] 的总和为最小值和正数。1 <= i < j <= N
- C++数组的最大值、最小值、平均值函数
- 数组中最小值的总和
- C 递归找到数组的最小值
- 从二维数组中查找最小值和最大值
- 使用函数从数组中索引最小值的问题
- 未初始化数组中的最小值和最大值