编辑:我非常感谢答案!
因此,假设我们有一个这样的结构
struct BadQuestion
{
float a;
float b;
} BadArray[10];
在典型的一天float a
将如下所示
{ 0, 152.52, 25.26, 5.166, 263.25, 256.256, 452.25, 0, 0, 0 }
现在我需要找到最小的值(5.166),并获得该指数在阵列中(这将是3),因为以后我会需要提取float b
的BadArray[3]
。
我当然不想在搜索中包括0值。我已经累了,是将所有非0值添加到向量中,然后使用min_element
来获得的最低值float a
。问题是我不知道如何获取索引。
当前代码
vector<float> temp;
int size = 0;
for (int i = 0; i < 10; i++)
{
if (BadArray[i].a != 0) {
temp.push_back(BadArray[i].a);
size++;
}
}
auto entity = min_element(temp.begin(), temp.end());
float lowestvalue = FLT_MAX; //float max
int index = -1;
for(int i = 0; i < 10; i++)
{
if(BadQuestion[i].a < lowestvalue && BadQuestion[i].a != 0)
{
lowestvalue = BadQuestion[i].a;
index = i;
}
}
float patato = BadQuestion[index].b;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句