Może spróbuj w w pętli odwoływać się po indeksie za każdym razem o jeden indeks większym, ale z użyciem bloku try->catch, tak aby nie spowodować wyjątku.
Edit (najlepsze pomsły mam jak już wstanę od komputera):
Spróbuj wyliczyć ilość elementów (na moim przykładzie tablica liczb double):
#include <iostream>
int main()
{
double tab[] = {22.2, 66.03, 21.84, 0.1};
int size = (int)(sizeof(tab) / sizeof(double));
std::cout << size << std::endl;
return 0;
}