In the following code I have printed the consistent elements from an array and their address.
I want to know why the addresses are not consistent even the elements from a consistent arrangement has been called for?
I assume, by consistent you mean consecutive. Running your routine under www.cpp.sh I get (after removing the if (i==1) and a minor merge of the two cout to cout<<array[i][j]<< " - " <<&array[i][j]<<"\n";)
It can depend on the C++ implementation and the OS.
On Windows the addresses can vary from run to run. The starting address may vary, but the 4 byte difference between consecutive address will remain the same.