Not really teh best then, usually in c++ when I handle arrays I do something like this:
Code:
bool seen[649];
int seen_amt=-1; // This could be 0 depending on how you build up you program.
now you can do the same for caught, and every time the play catches a pokemon just add 1 to caught_amt. OR you could use the longer (in terms of processing) way:
Code:
int pokemon_caught()
int i, amt=0;
for (i=0; i<649; i++){
if (caught[i] == true){
amt++;
}
}
return amt;
}
Well anyways, depending on what your situation is, the one is better than the other.
NOTE: the 649 is just what I used because of regions 1-5 have 649 in total, you may obviously change this if you want to.