如何在随机数列表中查找大于或小于的元素

How to find elements greater than or less than in a list on random number

本文关键字:大于 小于 元素 查找 随机数 列表      更新时间:2023-10-16

我有一个元素列表(随机数字(,这些元素在输出时不断变化(100个索引(,我想处理的是,如果输出时生成的任何数字(即使是一(等于或大于数字'27',则打开led,但如果数字都小于'27'则关闭led。我为其创建的逻辑不起作用,即使我得到的数字输出值超过27(如25,26.5,27.8,23,29.01,30.87,23……等等(,LED仍然没有准确打开。这是我从Arduino代码的一部分:

for (int x = 0 ; x < 101 ; x++)  
{
Serial.print("Pixel ");
Serial.print(x);
Serial.print(": ");
Serial.print(myList[x], 2); #myList has got the 100 random numeric values
Serial.print("C");
Serial.println();
if(myList[x<100]>=27) 
digitalWrite(ledPin, HIGH);  
if(myList[x<10]<27) 
digitalWrite(ledPin, LOW);     
}

解决问题的一种可能方法是在数组中找到最大值。这可以通过在数组上使用单程(循环(来完成。

如果最大值小于27,则所有值都小于27

如果最大值等于或大于27,则满足该条件。

当你发现一个值等于27时,你可以通过打破循环来"优化"这一点,而不需要找到更大的值。

这是一个简单的搜索算法,它可能会帮助您:

void loop{
...
...
...
boolean found = false;
int x = 0;
while(x<101 && !found){
if(myList[x]>=27){
found = true;
}
x++;
}
if(found) digitalWrite(ledPin, HIGH);
else digitalWrite(ledPin, LOW);
}