Дано натуральне число n та послідовність дійсних чисел a1, a2, …, an. Знайти у заданій послідовності таке число, котре якомога наближене до цілого числа.(На мові С)
Для розв'язання цієї задачі потрібно знайти різницю між кожним елементом послідовності та його найближчим цілим числом. Для цього можна використати функцію "round" для округлення до найближчого цілого числа, а потім відняти вихідне число від отриманого результату. Потім можна порівняти отримані значення та знайти число, яке має найменшу різницю з цілим числом.
Ось приклад коду на мові С:
#include <stdio.h>
#include <math.h>
int main() {
int n;
float a[100], diff[100], min_diff;
printf("Введіть кількість елементів послідовності: ");
Answers & Comments
Verified answer
Ответ:
Для розв'язання цієї задачі потрібно знайти різницю між кожним елементом послідовності та його найближчим цілим числом. Для цього можна використати функцію "round" для округлення до найближчого цілого числа, а потім відняти вихідне число від отриманого результату. Потім можна порівняти отримані значення та знайти число, яке має найменшу різницю з цілим числом.
Ось приклад коду на мові С:
#include <stdio.h>
#include <math.h>
int main() {
int n;
float a[100], diff[100], min_diff;
printf("Введіть кількість елементів послідовності: ");
scanf("
printf("Введіть елементи послідовності: ");
for(int i=0; i<n; i++) {
scanf("
diff[i] = round(a[i]) - a[i]; // розрахунок різниці
if(i==0 || fabs(diff[i]) < min_diff) { // пошук мінімальної різниці
min_diff = fabs(diff[i]);
}
}
printf("Число, яке найбільше наближене до цілого: ");
for(int i=0; i<n; i++) {
if(fabs(diff[i]) == min_diff) { // виведення числа з мінімальною різницею
printf("
}
}
return 0;
}
Приклад виконання програми:
Введіть кількість елементів послідовності: 5
Введіть елементи послідовності: 3.7 4.2 2.8 5.1 6.9
Число, яке найбільше набіжене до цілого: 4.20 5.10