#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
int main()
{
const int N = 10000;
const int T = 100;
srand((unsigned)time(0));
bool myArray[N] ;
bool temp = true;
int save1 = 0;
int save2 = 0;
//initializing myArray
for (int index = 0; index < N/2; index++) {
myArray[index] = false;
}
for (int index = N/2; index < N; index++) {
myArray[index] = true;
}
for (int index = 0; index < T; index++) {
for (int index1 = 0; index1 < N; index1++) {
save1 = int( N*rand()/RAND_MAX );
save2 = int( N*rand()/RAND_MAX );
if ( save1 != 0 || save2 != 0 )
std::cout << "Non zero index: " << save1 << ' ' << save2 << '\n';
temp = myArray[save1];
myArray[save1] = myArray[save2] ;
myArray[save2] = temp;
}
}
cout<<" Press any key to exit...";
cin.get();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3RpbWU+ICAgIAojaW5jbHVkZSA8Y3N0ZGxpYj4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpCnsKICAgIGNvbnN0IGludCBOID0gMTAwMDA7CiAgICBjb25zdCBpbnQgVCA9IDEwMDsgCgogICAgc3JhbmQoKHVuc2lnbmVkKXRpbWUoMCkpOyAgIAoKICAgIGJvb2wgbXlBcnJheVtOXSA7CiAgICBib29sIHRlbXAgPSB0cnVlOwogICAgaW50IHNhdmUxID0gMDsKICAgIGludCBzYXZlMiA9IDA7CgogICAgLy9pbml0aWFsaXppbmcgbXlBcnJheQogICAgZm9yIChpbnQgaW5kZXggPSAwOyBpbmRleCA8IE4vMjsgaW5kZXgrKykgewogICAgICAgIG15QXJyYXlbaW5kZXhdID0gZmFsc2U7CiAgICB9CiAgICBmb3IgKGludCBpbmRleCA9IE4vMjsgaW5kZXggPCBOOyBpbmRleCsrKSB7CiAgICAgICAgbXlBcnJheVtpbmRleF0gPSB0cnVlOwogICAgfQoKICAgIGZvciAoaW50IGluZGV4ID0gMDsgaW5kZXggPCBUOyBpbmRleCsrKSB7CgogICAgICAgIGZvciAoaW50IGluZGV4MSA9IDA7IGluZGV4MSA8IE47IGluZGV4MSsrKSB7ICAgIAogICAgICAgICAgICBzYXZlMSA9IGludCggTipyYW5kKCkvUkFORF9NQVggKTsKICAgICAgICAgICAgc2F2ZTIgPSBpbnQoIE4qcmFuZCgpL1JBTkRfTUFYICk7CgkJCQoJCQlpZiAoIHNhdmUxICE9IDAgfHwgc2F2ZTIgIT0gMCApCgkJCQlzdGQ6OmNvdXQgPDwgIk5vbiB6ZXJvIGluZGV4OiAiIDw8IHNhdmUxIDw8ICcgJyA8PCBzYXZlMiA8PCAnXG4nOwoKICAgICAgICAgICAgdGVtcCA9IG15QXJyYXlbc2F2ZTFdOwogICAgICAgICAgICBteUFycmF5W3NhdmUxXSA9IG15QXJyYXlbc2F2ZTJdIDsKICAgICAgICAgICAgbXlBcnJheVtzYXZlMl0gPSB0ZW1wOyAKICAgICAgICB9CiAgICB9CgogICAgY291dDw8IiBQcmVzcyBhbnkga2V5IHRvIGV4aXQuLi4iOwogICAgY2luLmdldCgpOwoKICAgIHJldHVybiAwOwp9