检查三个元素中的值之间是否存在整数

时间:2016-05-10 22:55:16

标签: c++ arrays

我有一个数组,其中有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),数组中的数字永远不会为负数。有关如何做到这一点的任何想法?

1 个答案:

答案 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
}