Вопрос задан 17.02.2019 в 22:31. Предмет Информатика. Спрашивает Канатов Святослав.

Дан массив дробных чисел, необходимо отсортировать массив в порядке убывания близости к целым

числам. (Например. Даны числа: 7,5; 0,3; 9,23; 5,8. После сортировки: 5,8; 9,23; 0,3; 7,5)
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Гурьева Надежда.
// PascalABC.NET 3.1, сборка 1239 от 08.05.2016
begin
  ReadArrReal('Введите элементы массива:',ReadInteger('n='))
    .Select(x->(x,Frac(x)>0.5?1-Frac(x):Frac(x)))
    .OrderBy(x->x.Item2).Select(x->x.Item1).Println
end.

Тестовое решение
n= 4
Введите элементы массива: 7.5 0.3 9.23 5.8
5.8 9.23 0.3 7.5
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения этой задачи можно использовать сортировку массива с помощью функции, которая будет сравнивать близость каждого числа к целому числу.

Вот пример кода на языке Python:

```python def closest_to_int(num): return abs(num - round(num))

arr = [7.5, 0.3, 9.23, 5.8]

sorted_arr = sorted(arr, key=closest_to_int, reverse=True) print(sorted_arr) ```

В этом примере мы определяем функцию `closest_to_int`, которая вычисляет разницу между числом и его округленным значением до целого числа. Затем мы используем эту функцию в качестве ключа для сортировки массива с помощью функции `sorted`, указывая параметр `reverse=True` для сортировки в порядке убывания.

После выполнения этого кода, массив `arr` будет отсортирован в порядке убывания близости к целым числам, и результат будет выведен на экран:

``` [5.8, 9.23, 0.3, 7.5] ```

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос