Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.97/173: Рейтинг темы: голосов - 173, средняя оценка - 4.97
2 / 2 / 0
Регистрация: 06.12.2011
Сообщений: 33

Не могу найти фунцию round в C++

06.12.2011, 00:12. Показов 35178. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, уважаемые программисты. Прочитал в справочнике, что для использования функции round в C++ надо подключить файл math.h. Подключил его, а там нет такой функции, только ceil и floor. И в MSDN ничего не написано. Что делать - как быть? Работаю в VC2008, проект win32. В программировании и среде разбираюсь слабо, спасибо заранее.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.12.2011, 00:12
Ответы с готовыми решениями:

Вызвать фунцию
Добрый день! Задача: привязать цель Я.Метрики к кнопке формы обратной связи через скрипт. Как будет выглядеть код? Как я себе это...

Разложить фунцию в ряд Фурье
Есть функция y=0.5*exp(0.13*x) нужно разложить фунцию в ряд , и найти коэффициенты если период равен T=2; подскажите пожалуйста.

Правильно ли я реализовываю фунцию iconv?
Всем привет! Скажите пожалуйста правильно ли я реализовываю фунцию iconv? Ситуация следующая все страницы сайта в кодировке утф8, но...

20
DU
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
06.12.2011, 00:18
http://www.cplusplus.com/refer... ath/floor/
http://www.cplusplus.com/refer... math/ceil/
1
2 / 2 / 0
Регистрация: 06.12.2011
Сообщений: 33
06.12.2011, 00:27  [ТС]
Спасибо, про эти функции мне известно А где же round - ее нет в списке. В справочнике написано, что она добавлена в версии языка С99. А у меня С++2008 - более поздняя версия. Выходит - свою функцию писать надо?
0
DU
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
06.12.2011, 00:35
похоже, что так
с != с++. совместимость есть до определенного момента. с помощью modf не особо сложно будет самоделку написать.
0
бжни
 Аватар для alex_x_x
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
06.12.2011, 00:49
C++
1
2
3
4
int round (double value)
{
   return (int) floor(value + 0.5);
}
дело нехитрое
3
DU
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
06.12.2011, 00:51
хитрое. не учли знак value.
0
бжни
 Аватар для alex_x_x
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
06.12.2011, 00:55
DU, например?
0
DU
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
06.12.2011, 01:04
-4.6 должно округлится до -5. так? ок.
floor(-4.6 + 0,5) == floor(-4.1) == -4.
floor(-4.1 + 0,5) == floor(-3.6) == -3. а не -4 как ожидалось.

Что-то я кажись наглючил.

Точно наглючил. floor(value + 0.5); возаращает то, что надо.
0
2 / 2 / 0
Регистрация: 06.12.2011
Сообщений: 33
06.12.2011, 01:21  [ТС]
Цитата Сообщение от alex_x_x Посмотреть сообщение
C++
1
2
3
4
int round (double value)
{
   return (int) floor(value + 0.5);
}
дело нехитрое
Спасибо, еще подскажите, пожалуйста, почему мне пишется ошибка "Error 1 error C3861: 'round': identifier not found" при вызове этой функции?

Я так написал(нужен округленный double):

C++
1
2
3
4
5
6
// начало функция округления
double round(double double_value)
{
   return floor(double_value+0.5);
}
// конец функция округления
0
бжни
 Аватар для alex_x_x
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
06.12.2011, 01:22
больше кода напишите
где вызываете
0
DU
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
06.12.2011, 01:23
наверно используете ф-ию до ее определения. весь код покажите.
0
2 / 2 / 0
Регистрация: 06.12.2011
Сообщений: 33
06.12.2011, 01:37  [ТС]
Цитата Сообщение от alex_x_x Посмотреть сообщение
больше кода напишите
где вызываете
Пожалуйста:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// shift.cpp : Defines the exported functions for the DLL application.
#include "stdafx.h"
#include "math.h"
#define DLL extern "C" __declspec(dllexport)
// начало главной функции
DLL int __stdcall Shift(double * src, double * dest, int nPoints, int nShift)
{
    for(int i = 0; i < nPoints; i++)
    {
        dest[i]=round(src[i]);
    }
    return 0;
}
// конец главной функции----
//++++++++++++++++++++++++++
// начало функция округления
double round(double double_value)
{
    return floor(double_value+0.5);
}
// конец функция округления
//+++++++++++++++++++++++++
0
DU
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
06.12.2011, 01:43
Перед ф-ией Shift поместите объявление вашей ф-ии

double round(double double_value);

или же сразу целиком
1
2 / 2 / 0
Регистрация: 06.12.2011
Сообщений: 33
06.12.2011, 02:01  [ТС]
Цитата Сообщение от DU Посмотреть сообщение
Перед ф-ией Shift поместите объявление вашей ф-ии

double round(double double_value);

или же сразу целиком
Спасибо, мир не без добрых людей
0
8 / 8 / 1
Регистрация: 23.09.2011
Сообщений: 45
05.03.2012, 18:38
Хоть си != си++, но в GCC почему-то функция round есть, код, содержащий round прекрасно компилируется и в Linux и во FreeBSD. Но тоже столкнулся с такой проблемой, когда решил этот код откомпилировать под Windows на Visual Studio.
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
05.03.2012, 18:49
mdt::Vladimir, У всех компиляторов есть нестандартные расширения
0
0 / 0 / 0
Регистрация: 02.10.2011
Сообщений: 4
03.06.2012, 17:16
Цитата Сообщение от alex_x_x Посмотреть сообщение
C++
1
2
3
4
int round (double value)
{
   return (int) floor(value + 0.5);
}
дело нехитрое
Nут и правда не всё учтено. Например
round( -1.5) = floor( -1,5 + 0.5 ) = -1 . А должно быть -2 !!!
0
бжни
 Аватар для alex_x_x
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
03.06.2012, 17:32
округляется до большего, а не до меньшего
0
0 / 0 / 0
Регистрация: 02.10.2011
Сообщений: 4
04.06.2012, 00:40
Цитата Сообщение от alex_x_x Посмотреть сообщение
округляется до большего, а не до меньшего

Округление к ближайшему целому
(англ. rounding) — наиболее часто используемое округление. Число в десятичной системе округляют до N-ого знака в зависимости от N+1 знака:

если N+1 знак < 5, то N-ый знак сохраняют, а N+1 и все последующие обнуляют;
если N+1 знак ≥ 5, то N-ый знак увеличивают на единицу, а N+1 и все последующие обнуляют.

Например: 11,9 → 12; −0,9 → −1; −1,1 → −1; 2,5 → 3.

http://ru.wikipedia.org/wiki/Округление
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
04.06.2012, 00:55
Цитата Сообщение от ForEveR Посмотреть сообщение
У всех компиляторов есть нестандартные расширения
Ну тогда весь стандарт ANSI C 99 - одно большое нестандартное решение от gcc

Цитата Сообщение от mdt::Vladimir Посмотреть сообщение
Но тоже столкнулся с такой проблемой, когда решил этот код откомпилировать под Windows на Visual Studio.
Мелкомягкие поддержку С99 так и не удосужились сделать, вместо этого своих нелепых велосипедов насочиняли.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.06.2012, 00:55
Помогаю со студенческими работами здесь

Работа с датой не знаю фунцию
Стоит задача заменить месяцы на символы в дате наподобие 2017-04-26 11:45:04 хочу использовать вот так$a.' '.$monthsList-1].' '.$a.' года';...

как сделать фунцию рекурсивной
Вот я тут написала код, который создает узел в дереве. Теперь вот хочу, чтоб при нажатии на button Add Sub Item, вызывалась тот же самых...

разложить фунцию f(t)=cost в ряд Фурье
Привет всем! Помогите пожалуйста разложить функцию f(t)=cost в ряд Фурье: 1) 2) Изобразить полученые гармоники та их...

Как сделать фунцию рисующую объект?
в общем в порядке практики хочу сделать тетрис :D конкретно сейчас возник такой вопрос: как сделать фунцию рисующую объект? Представляю...

Как задать данную фунцию с циклами?
F(x,k) = x корень из к/пи в степени к, при условии если х принадлежит , дельта x = 0.1, дельта к = 1, к принадлежит у меня получается...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru