/** * hhh-ui - a simple UI for the strange code produced by H & H H. */ // +---------+-------------------------------------------------------- // | Headers | // +---------+ #include #include #include "hhh.h" // +---------+-------------------------------------------------------- // | Helpers | // +---------+ void print_ints (int nums[], int size) { int i; // Index variable // Special case if (size == 0) { printf ("{}"); return; } printf ("{%d", nums[0]); for (i = 1; i < size; i++) printf (",%d", nums[i]); printf ("}"); } // print_ints // +------+----------------------------------------------------------- // | Main | // +------+ int main (int argc, char *argv[]) { int i; // Everyone's favorite index int size = argc-1; // The size of the number array int nums[size]; // A bunch of numbers int result; // The result of h. // Convert arguments to numbers for (i = 0; i < size; i++) nums[i] = atoi (argv[i+1]); // Print preliminary information printf ("Original array: "); print_ints (nums, size); printf ("\n"); printf ("Size: %d\n", size); // Do the work result = h (nums, size); // Print the results printf ("Result: %d\n", result); printf ("Final array: "); print_ints (nums, size); printf ("\n"); // And we're done return 0; } // main