我有一个数组,其中有5个值的缓冲区同时进入;
int max = 5; //max value for the array
std::array<int, 5> myarray;
for(int ii = 0; ii< max; ii++) myarray[i%5] = faces[i].x; //don't care about faces[i]
for(int i = 0; i < myarray.size(); i++) std::cout<< myarray[i] << ",";
现在,我想检查数组中至少有3个元素是否包含+50和-50之间的给定值(int),数组中的数字永远不会为负数。有关如何做到这一点的任何想法?
答案 0 :(得分:0)
您可以轻松地通过for循环检查它。
int cnt = 0;
int flg = 0;
for(int i = 0; i < myarray.size(); i++){
if(myarray[i] >= -50 && myarray[i] <= 50){
cnt++;
} else if(myarray[i] < 0){
flg = 1;
}
}
if(cnt < 3 || flg == 1){
//Error statement
}