Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
15 / 15 / 8
Регистрация: 15.08.2013
Сообщений: 190

Modf()

21.06.2016, 22:00. Показов 1903. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер . Объясните пожалуйста почему не работает

C++
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
#include <iostream>
#include <cmath>
 
using namespace std;
 
void round (double &num);
 
int main()
{
double i=100.4;
cout << i << " Округленное значение равно: ";
round ((double) i);
cout << i << "\n";
 
i=-10.9;
cout << i << " Округленное значение равно: ";
round ((double) i);
cout << i << '\n';
 
return 0;
}
void round(double &num)
{
double drob;
double celoe;
drob = modf(num, &celoe);
 
if (drob<0.5) num=celoe;
else num = celoe + 1.0;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.06.2016, 22:00
Ответы с готовыми решениями:

Функция modf
Объясните, пожалуйста, почему они не равны? #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;iostream&gt; #include &lt;cmath&gt; ...

Fmod modf и цикл while
В общем, я не знаю, в чем дело и уже в крушить-ломать впадаю от несговорчивости братьев fmod и modf с циклом while, или do while, как...

Long double modf приводит к падению
long double l3 = 1e+1L, l4; std::modf( l3, &amp;l4 ); в Code::Blocks приводит к SIGSEGV, Segmentation fault на второй строке.

3
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
21.06.2016, 22:09
Цитата Сообщение от MRG_Serejka Посмотреть сообщение
Добрый вечер .
И Вам добрый вечер.
Зачем приводите double к doudle? Приведение (дух бестелесный) порождает объект в который нельзя писать. На него ссылка - вещь бессмысленная. Даже без кода реализации void round (double &num) не по себе как-то. Функцию-то покажите тоже. Интересно ведь.
0
15 / 15 / 8
Регистрация: 15.08.2013
Сообщений: 190
21.06.2016, 22:15  [ТС]
IGPIGP, если double к double не привести. то компилятор выдает ошибки

Добавлено через 3 минуты
IGPIGP,
следственно убрал приведение к типу double скомпилировал теперь такие ошибки

program14.cpp:12:9: error: call of overloaded ‘round(double&)’ is ambiguous
round (i);
^
In file included from /usr/include/features.h:367:0,
from /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h:39,
from /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:482,
from /usr/include/c++/5/iostream:38,
from program14.cpp:1:
/usr/include/x86_64-linux-gnu/bits/mathcalls.h:319:1: note: candidate: double round(double)
__MATHCALLX (round,, (_Mdouble_ __x), (__const__));
^
program14.cpp:6:6: note: candidate: void round(double&)
void round (double &num);
^
program14.cpp:17:9: error: call of overloaded ‘round(double&)’ is ambiguous
round (i);
^
In file included from /usr/include/features.h:367:0,
from /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h:39,
from /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:482,
from /usr/include/c++/5/iostream:38,
from program14.cpp:1:
/usr/include/x86_64-linux-gnu/bits/mathcalls.h:319:1: note: candidate: double round(double)
__MATHCALLX (round,, (_Mdouble_ __x), (__const__));
^
program14.cpp:6:6: note: candidate: void round(double&)
void round (double &num);
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
21.06.2016, 22:28
Цитата Сообщение от MRG_Serejka Посмотреть сообщение
если double к double не привести. то компилятор выдает ошибки
Вот эта фраза без кода функции round (double &num) - чистый каприз. Потому как если функция без ошибок то изменение имени могло бы помочь ещё. Дело в том что round - библиотечная функция. Не применяйте слов не проверив их значения.

Добавлено через 10 минут
Цитата Сообщение от MRG_Serejka Посмотреть сообщение
следственно убрал приведение к типу double скомпилировал теперь такие ошибки
сюда взгляните:
http://www.cplusplus.com/reference/cmath/round/
Хотите библиотечную вызвать - присвойте результат вызова. А свою переименуйте. Пусть будет myRound например. Ничего что не оригинально. Зато глюки самой функции (а они по всей видимости будут) заставят Вас выложить её реализацию. Говорить о функции без её кода, - последнее дело.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.06.2016, 22:28
Помогаю со студенческими работами здесь

Отсутствуют экземпляры перегруженной функции modf
#include &lt;iostream&gt;; #include &lt;conio.h&gt;; #include &lt;cmath&gt;; int main() { using namespace std; cout &lt;&lt; &quot;Vvedit roku&quot; &lt;&lt;...

Modf возвращает не те значения(ошибка с округлением)
Здравствуйте, функция modf возвращает не те значения, которые ожидаются. Такие девятки появляются вообще в рандомных числах. Понимаю, что...

Для чего нужен амперсанд в параметре ф-ции modf() ?
Для чего нужен амперсанд в параметре ф-ции modf() и почему без него ф-ция не работает? Как быть если мне не нужна целая часть и я не...

Отсутствуют экземпляры перегруженной функции "modf", соответствующие списку аргументов
в чем причина #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;math.h&gt; int bin(double dex) { double c = modf(19.5,2); } ...

Modf против шаблонов
Пишу шаблонную функцию float_to_bin: #include &lt;cmath&gt; #include &lt;iostream&gt; template &lt;typename T&gt; std::string float_to_bin( T d ) ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru