#include #include #include #include using namespace std; template void parallelfor(T1 &&l1, T2 &&l2, FN f) { auto i1 = begin(l1), e1 = end(l1); auto i2 = begin(l2), e2 = end(l2); while(i1 != e1 && i2 != e2) { f(*i1,*i2); ++i1; ++i2; } } int main(int argc, char **argv) { const array names {"Sally","Michelle","Bob","Charlie"}; const array bowlingscores {174, 89, 202, 102}; const array gpas {3.2, 3.8, 2.9, 3.9}; int nacadbowl = 0; parallelfor(bowlingscores,gpas, [&nacadbowl](int bowl, double gpa) { if (bowl>100 && gpa > 3.5) nacadbowl++; } ); cout << nacadbowl << " bowler(s) qualified for scholastic all-star team" << endl; cout << "GPAs:" << endl; parallelfor(names,gpas, [](const string &s, double gpa) { cout << s << ": " << gpa << endl; } ); }