如何检查数组的所有元素是否大于零C ++

时间:2014-10-24 05:44:14

标签: c++ arrays loops c++11

我是C ++的新手,我正在尝试创建一个需要检查的循环:

"如果数组中的所有元素都大于零,则打破循环,如果它们不是,则从头开始重新启动循环"

请帮助我,因为我不知道如何开始

谢谢你们

2 个答案:

答案 0 :(得分:2)

使用std::all_of或姐妹,无论你有什么逻辑我不知道它的正确性

while ( !std::all_of( std::begin(arr), std::end(arr), [](int i){ return i > 0; }) )
{
  /* if all the elements in the array are greater than zero, 
     break the loop, 
     if they are not then restart the loop from the beginning
  */

}

答案 1 :(得分:0)

你走了:

[loop]{
  bool negative_found = false;
  for(... each element in array...){
    if(elem_val < 0){
      negative_found = true;
      break;
    }
  }
  if(negative_found){
    continue;
  }else{
    break;
  }
}