Следующий код проверяет, являются ли все элементы в объявленном массиве нечетными числами.all_of функция проверки состояния во всех элементах части массива
#include "stdafx.h"
#include <iostream> // std::cout
#include <algorithm> // std::all_of
#include <array> // std::array
int main() {
std::array<int,8> foo = {3,5,7,11,13,17,19,23};
if (std::all_of(foo.begin(), foo.end(), [](int i){return i%2;}))
std::cout << "All the elements are odd numbers.\n";
return 0;
}
(Пример взят из http://www.cplusplus.com/reference/algorithm/all_of)
Я хотел бы проверить, если все элементы заявленного массива, начиная с foo[2]
нечетные числа.
Замена foo.begin()
foo[2]
не работает. Я пробовал много других, чтобы сделать эту работу, все очень простые (очень простой пользователь C++ здесь), без успеха. Я не хочу изменять размер массива для достижения этого.
В конце концов, что я ищу оказываете цикл, в котором условие проверяется для каждого на элемент части массива, так же, как проверки for
петли для условия на любой элемента части массив. Этого относительно легко достичь в R, и я надеюсь, что его можно так же легко достичь на C++.
Замена 'foo.begin()' на 'foo.begin() + 2'? – DimChtz
Спасибо. Это сработало! Провел весь день на этом. Приветствия. – Krug
'foo.begin()' является 'итератором',' foo [2] 'является значением. – Jarod42