From cbca973f699f10d45b725e94ed3f49be9cf1f512 Mon Sep 17 00:00:00 2001 From: Michael Abed Date: Sun, 12 Feb 2012 15:08:17 -0500 Subject: rename files based on submission guidelines --- Q3.cpp | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 Q3.cpp (limited to 'Q3.cpp') diff --git a/Q3.cpp b/Q3.cpp new file mode 100644 index 0000000..17f385a --- /dev/null +++ b/Q3.cpp @@ -0,0 +1,41 @@ + +#include + +using namespace std; + +int main() +{ + unsigned int n1, n2; + bool good; + do { // read in valid numbers + cout << "Enter two integers between 0 and 999999: "; + cin >> n1 >> n2; + good = n1 <= 999999 && n1 >= 0 && n2 <= 999999 && n2 >= 0; + if (!good) + cout << "The numbers must be between 0 and 999999" << endl; + } while (!good); + + int distance = 0; + int d1, d2; + int no1 = n1; //store original + int no2 = n2; + + /* + * The Hamming distance between 2 decimal numbers + * + * Compare 1's place of both numbers, + * if not equal, the distance increases by 1. + * Move to the next place value and repeat + * we're done when both numbers get to 0 + */ + while (n1 != 0 || n2 != 0) { + d1 = n1 % 10; + d2 = n2 % 10; + if (d1 != d2) + distance++; + n1 /= 10; + n2 /= 10; + } + cout << "Hamming distance between " << no1 << " and " << no2 << " is " << distance << endl; + return 0; +} -- cgit v1.2.3