Find a number out of a given Integer array. It can return the closest, smaller and larger number to the integer requested.

Revision:
2:450e31ab4a55
Child:
3:3cc233c5aa00
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/find_number.cpp	Fri Dec 15 23:11:02 2017 +0000
@@ -0,0 +1,40 @@
+/**
+ * Includes
+ */
+#include "find_number.h"
+
+Serial pc2(USBTX, USBRX); // tx, rx
+
+
+
+find_number::find_number(int32_t *selectable_values, int32_t cells_in_array)
+{
+    selectable_values_array = selectable_values;
+
+    searched_array_size = numbers_in_array;
+}
+
+
+int32_t find_number::find_closest(int32_t target_value)
+{
+    int32_t difference = abs( target_value - *selectable_values_array);
+    int32_t closest_integer = selectable_values_array[0];
+
+    for (int32_t cell = 0; cell < searched_array_size; cell++) {
+        if (difference > abs( target_value - selectable_values_array[cell] )) {
+            difference = abs( target_value - selectable_values_array[cell]);
+            closest_integer = selectable_values_array[cell];
+        }
+    }
+    return closest_integer;
+}
+
+int32_t find_number::find_larger(int32_t target_value)
+{
+    return 0;
+}
+
+int32_t find_number::find_smaller(int32_t target_value)
+{
+    return 0;
+}
\ No newline at end of file