هدف این تمرین این است که یک عدد را انتخاب کنیم و نزدیک عضو آرایه به این عدد را برگردانیم.
برای پیاده سازی این سوال اول آرایه را مرتب می کنیم و بعد اونو پیمایش می کنیم و نزدیک ترین عدد رو بر می گردونیم .
برای مرتب سازی میتونین از این مطلب استفاده کنید.
خب . یک راست بریم سر کد :
int closest(int arr[], int length, int target) { int min, temp, closest; for (int i = 0; i < length - 1; i++) { min = i; for (int j = i + 1; j < length; j++) if (arr[j] < arr[min]) min = j; temp = arr[i]; arr[i] = arr[min]; arr[min] = temp; } for (int k = 0; k < i; k++) { if (target <= arr[0]) { closest = arr[0]; break; } if (target >= arr[length - 1]) { closest = arr[length - 1]; break; } if (arr[k] <= target && target <= arr[k + 1]) { closest = arr[k]; } } return closest; }