Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 21.04.2017
Сообщений: 25

Найти и показать число, которое будет иметь наименьшее расстояние от любого целого.

24.05.2017, 01:26. Показов 1874. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ввести последовательность из N вещественных чисел. Найти и показать число, которое будет иметь наименьшее расстояние от любого целого.
С помощью каких функций это сделать??? Я только такой набросок смог сделать, а дальше вообще ничего не могу придумать..
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
Const n=10;
Var a:array[1..n] of real;
    i: integer;
    l: real;
Begin
    
    for  i := 1 to n do
    begin
     Write('Элемент А [', i, '] = ');
     readln(a[i]);
    end;
  
 end.
Прошу помочь, пожалуйста.

Добавлено через 22 часа 23 минуты
В общем идея такая. Найти функцию frac от каждого элемента массива. Затем от полученных элементов, если они расположены от 0.0 до 0.5 то от единицы отнять это число и затем снова от единицы отнять полученный результат, чтобы найти расстояние до крайнего левого числа, а если элементы расположены от 0.5 до (1).0 то просто от единицы отнять само число. Затем сравнить все полученные значения и выбрать среди них самое маленькое и вывести на экран. У меня самого это реализовать не получается, помогите пожалуйста.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.05.2017, 01:26
Ответы с готовыми решениями:

Найти наименьшее число, число M(N<M<2N) которое делятся на сумму цифр числа N(без остатка).
Помогите решить задачку.:) Дано натуральное число N. Найти наименьшее число, число M(N&lt;M&lt;2N) которое делятся на сумму цифр числа...

Дано натуральное число N. Найти наименьшее число М (N< M< 2N), которое делится на сумму цифр числа N (без оста
Дано натуральное число N. Найти наименьшее число М (N&lt; M&lt; 2N), которое делится на сумму цифр числа N (без остатка). Если такого числа...

Найти наименьшее число m, которое делится на a и b
Добрый день, не могли бы вы помочь мне с решением задачи. задача такова: По данным двум числам 1≤a,b≤2⋅10^9 найдите...

5
 Аватар для Zwelenewskiy
129 / 127 / 107
Регистрация: 09.01.2017
Сообщений: 1,651
24.05.2017, 08:14
А не надо ли простой найти минимальную разницу пары элементов в массиве?
0
0 / 0 / 0
Регистрация: 21.04.2017
Сообщений: 25
25.05.2017, 21:21  [ТС]
Ну наверное есть не один вариант. Так не поможете? Или вы не будете работать " с нуля?"(
0
 Аватар для Zwelenewskiy
129 / 127 / 107
Регистрация: 09.01.2017
Сообщений: 1,651
25.05.2017, 22:48
Что значит "с нуля"?)

Добавлено через 1 час 2 минуты
Это черновой вариант. Может я и не совсем понял условие, но, по-моему, разница в любом случае будет единица. Нет?
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
const
  n = 4;
 
var
  a: array[1..n] of real;
 
begin
  
  for var i: integer := 1 to n do
  begin
    Write('Элемент А [', i, '] = ');
    readln(a[i]);
  end;
  
  
  var min: integer := n + 1;
  //var min_d: integer := n + 1;
  var k: integer := 0;
  
  for var i: integer := 1 to n - 1 do
  begin
    for var j: integer := 2 to n  do
    begin
      if ((frac(a[i]) = 0) or (frac(a[j]) = 0)) and (k < min)
      then begin
        k := abs(i - j);
        min := k;
      end;        
    end;
  end; 
  
  writeln('Минимальная разница: ', min);
  
end.
1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33400 / 21510 / 8236
Регистрация: 22.10.2011
Сообщений: 36,907
Записей в блоге: 12
25.05.2017, 23:03
Лучший ответ Сообщение было отмечено Bluevaran как решение

Решение

Цитата Сообщение от Zwelenewskiy Посмотреть сообщение
Может я и не совсем понял условие
Скорее всего. Вот решение задачи:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
const
  n = 10;
 
var
  a: array[1..n] of real := (1.113, 5.995, -3.077, 2.847, 7.2, 6.3, 4.22, 3.18, -5.076, 6.4); // лениво было делать ввод вручную
  ix: integer;
  min_diff: real := 1;
 
begin
  for var i := 1 to n do
  begin
    var diff := min(abs(a[i] - Ceil(a[i])), abs(a[i] - Floor(a[i])));
    if min_diff > diff then
    begin
      min_diff := diff; ix := i;
    end;
  end;
  writeln('Число, минимально отличающееся от целого = ', a[ix]:8:4, '; разность = ', min_diff:8:4);
  
end.
Ну, и по традиции, тот же эффект:
Pascal
1
2
3
4
5
begin
  var a := Arr(1.113, 5.995, -3.077, 2.847, 7.2, 6.3, 4.22, 3.18, -5.076, 6.4);
  var R := a.Select(v -> (v, min(abs(v - Ceil(v)), abs(v - Floor(v))))).OrderBy(v -> v[1]).First;
  writeln('Число, минимально отличающееся от целого = ', R[0]:8:4, '; разность = ', R[1]:8:4);
end.
0
0 / 0 / 0
Регистрация: 21.04.2017
Сообщений: 25
30.05.2017, 21:36  [ТС]
Да, все отлично, огромное спасибо)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.05.2017, 21:36
Помогаю со студенческими работами здесь

Показать что для любого целого m выражение (m-1)*m*(m+1) делится на 3
Показать, что для всех m от 1 до N (N задаёт пользователь) (m-1)*m*(m+1)/3 - целое число Помогите, пожалуйста, написать программу

Найти наименьшее число, которое удовлетворяет условию
Дано вещественное число a. Найти такое наименьшее n, что 1+1/2+1/3+…+1/n &gt;a. Пункт 3.4 Правил: Спокойствие и хладнокровие помогут вам...

Найти наименьшее число выстрелов, при котором наиболее вероятное число попаданий будет 3
Вероятность попадания стрелка по мишени равна 1/10. Найти наименьшее число выстрелов, при котором наиболее вероятное число попаданий...

Найти наименьшее число, которое делится на сумму цифр числа N
1)дано четырехзначное число.Если разряды образуют возрастающую последовательность, то разряд тысяч умножить на разряд единиц и разделить на...

Найти наименьшее число, которое делится на сумму цифр числа N
1)Дано натурально число N. Найти наименьшее число M (N&lt;M&lt;2N), которое делится на сумму цифр числа N (без остатка). если такого числа нет,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru