Find a number out of a given Integer array. It can return the closest, smaller and larger number to the integer requested.
Diff: find_number.cpp
- 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