const int a[] = {4, 5, 6, 7, 8, 9, 10, 11};
const int n = sizeof a / sizeof *a;
const int *l = std::lower_bound(a, a + n, 6);
const int *u = std::upper_bound(l, a + n, 10);
std::copy(l, u, std::ostream_iterator<int>(std::cout, ","));
これじゃだめなん?