有没有办法检查int是否不等于数组中的所有值?(C )

Is there a way to check if an int not equal to all values in an array? (C++)

本文关键字:检查 int 是否 数组 不等于 有没有      更新时间:2023-10-16

我知道有一种方法可以检查一个值是否在数组中,但是有一种方法检查值不是吗?

此代码将检查每个索引,但在进入下一个索引时会忽略过去索引。(即,是否有一个代码检查vary_result!="数组中的所有值"?)

int buffer; //all variables
int vary_result;
int range;
int minimum_value;
for(int j = 0; j < buffer; j++) {
    if(vary_result == buffer_array[j]){
        vary_result = rand() % range + minimum_value; // creates a random value and saves it at vary_result
        };
    };
cout << vary_result << endl;

我知道有一种方法可以检查一个值是否在数组中,但是是否有办法检查值是否不是?

第二与第一个相反:

auto begin = buffer_array;
auto end   = buffer_array + buffer;
auto it = std::find(begin, end, value );
if( it == end ) // value not found which means none of the elements equal to value, which means value is not in array
    // do whatever, but do not dereference it

是的,有一种方法可以测试是否不在数组中。这是我做的:

 bool valueInArray;
 bool valueNotInArray = true;
 int valueToTest = 10;
 int valuesArray[] = [1, 2, 3, 5, 9];

 for(int i = valuesArray.length(); i <= valuesArray.length(); i++) {
 if(valueToTest == valuesArray[i]) 
    notInIt == false;
 }
 if (notInIt == false) 
    valueInArray = true;
 else
    valueInArray = false;

本质上,我创建了两个布尔值,一个要测试的数字和一个数组。我用for循环浏览了数组,以测试数字是否在数组中。然后,我使用if/否则将另一个布尔值与以前的布尔设置。这样,最终的布尔值反映了该值是否不在数组中。