Unknown Software Exception
Hey guys I'm working on a Pythagorean Triple program.
In my program everything worked and I found all the possible Pythagorean triples below the value 500. Unfortunately I had repeats due to the fact that the legs of the triangle could just "swap" value. I tried to correct the problem by using a three dimensional array called "used." Because I have a maximum of 500 on each side of the triangle I had to use 500 three times in my boolean value "used." I think this is just too large a value for my compiler but maybe I did something wrong. Check it out.
Code:
void calculate()
{
int side1 = 1;
int side2 = 1;
int hypo = 1;
int triplecounter = 0;
bool used[500][500][500] = {false};
for (side1 = 1; side1 <= 500; side1++) {
for (side2 = 1; side2 <= 500; side2++) {
for (hypo = 1; hypo <= 500; hypo++) {
if (used[side1][side2][hypo] == false) {
if (used[side2][side1][hypo] == false) {
if ((hypo * hypo) == (side1 * side1) + (side2 * side2)) {
used[side1][side2][hypo] = true;
used[side2][side1][hypo] = true;
cout << "A Pythagorean triple is " << hypo << " " << side1 << " " << side2 << "\n\n";
triplecounter = (triplecounter + 1);
}
}
}
}
}
}
cout << triplecounter << "\n\n";
}