OK, this is a sneaky one.
First of all, you've made a big error when you're loading the y and z arrays - you start their loops at a value other than 0. Look at your code below:
for(int i=0; i < 50; i++)// this is
{
x[i] = bigarray[i];
cout <<" "<<x[i];
}
for(int i=50; i < 101; i++)
{
y[i] =bigarray[i];
cout <<" "<<y[i];
}
You've filled the x array, element indexes 0-49 - fine! Then you start y array at index 50, and go to <101, which if you count on your fingers you'll find is 51 elements - OOPS. Double OOPS, array y should have started at index 0. The way memory usually gets laid out (with no optimization going on, anyway), the x array is at higher memory address than y array, which is higher than z array. All your array writing has occurred in the x array (three times) and by going to indexes limited by <101 and <151, you've written to the element one past the end of x array. That's what fires the warning.
Solution to this - use a separate index for reading from bigarray, restart each of x, y, z at the same 0, like:
int i, j = 0;
for( i=0; i < 50; i++, j++)// this is
{
x[i] = bigarray[j];
cout <<" "<<x[i];
}
//j starts at 50 for this loop
for(i=0; i < 50; i++,j++)
{
y[i] =bigarray[j];
cout <<" "<<y[i];
}
//and again for the z array