#include <iostream>
#include <cmath>
#include <cassert>
using namespace std;
const double epsilon = 0.00001;
// main() calls both findDistance() and test() correctly so they don't need to be shown.
// Note: This is only a section of the full code as it is the only relevant part.
double findDistance(float x1, float y1, float x2, float y2) {
double distanceTotal = sqrt( pow( (x2-x1),2 ) + pow( (y2-y1),2 )); // This line doesn't work with assert values.
//double distanceTotal = (x2-x1) + (y2-y1); // This line works with assert values.
return distanceTotal;
}
int main() {
assert(findDistance(4, 3, 5, 1) - 2.23607 <= epsilon);
assert(findDistance(2, 4, 2, 4) <= 1.00);
assert(findDistance(4, 4, 4, 4) <= 1.00);
cout << "all tests passed..." << endl;
cout << findDistance(3, 3, 1, 1)<<endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+CiNpbmNsdWRlIDxjYXNzZXJ0Pgp1c2luZyBuYW1lc3BhY2Ugc3RkOwpjb25zdCBkb3VibGUgZXBzaWxvbiA9IDAuMDAwMDE7Ci8vIG1haW4oKSBjYWxscyBib3RoIGZpbmREaXN0YW5jZSgpIGFuZCB0ZXN0KCkgY29ycmVjdGx5IHNvIHRoZXkgZG9uJ3QgbmVlZCB0byBiZSBzaG93bi4KLy8gTm90ZTogVGhpcyBpcyBvbmx5IGEgc2VjdGlvbiBvZiB0aGUgZnVsbCBjb2RlIGFzIGl0IGlzIHRoZSBvbmx5IHJlbGV2YW50IHBhcnQuCgpkb3VibGUgZmluZERpc3RhbmNlKGZsb2F0IHgxLCBmbG9hdCB5MSwgZmxvYXQgeDIsIGZsb2F0IHkyKSB7CiAgICBkb3VibGUgZGlzdGFuY2VUb3RhbCA9IHNxcnQoIHBvdyggKHgyLXgxKSwyICkgKyBwb3coICh5Mi15MSksMiApKTsgLy8gVGhpcyBsaW5lIGRvZXNuJ3Qgd29yayB3aXRoIGFzc2VydCB2YWx1ZXMuCiAgICAvL2RvdWJsZSBkaXN0YW5jZVRvdGFsID0gKHgyLXgxKSArICh5Mi15MSk7IC8vIFRoaXMgbGluZSB3b3JrcyB3aXRoIGFzc2VydCB2YWx1ZXMuCiAgICByZXR1cm4gZGlzdGFuY2VUb3RhbDsKfQoKaW50IG1haW4oKSB7CiAgICBhc3NlcnQoZmluZERpc3RhbmNlKDQsIDMsIDUsIDEpIC0gMi4yMzYwNyA8PSBlcHNpbG9uKTsKICAgIGFzc2VydChmaW5kRGlzdGFuY2UoMiwgNCwgMiwgNCkgPD0gMS4wMCk7CiAgICBhc3NlcnQoZmluZERpc3RhbmNlKDQsIDQsIDQsIDQpIDw9IDEuMDApOwogICAgY291dCA8PCAiYWxsIHRlc3RzIHBhc3NlZC4uLiIgPDwgZW5kbDsKICAgIGNvdXQgPDwgZmluZERpc3RhbmNlKDMsIDMsIDEsIDEpPDxlbmRsOyAKfQo=