Форум программистов, компьютерный форум CyberForum.ru

Быстрое округление числа - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Алгоритмы сортировки: прямые, улучшенные (Сортировка с помощью прямого включения (метод простых вставок)) http://www.cyberforum.ru/cpp-beginners/thread795139.html
Задание 1. Сортировка с помощью прямого включения (метод простых вставок). Методические указания к выполнению задания 1 Описать алгоритм сортировки. Проанализировать его эффективность. Написать программу сортировки данных с использованием указанного алгоритма. Зарание большое спасибо за помощь.
C++ Создать указанные динамические структуры, заполнить их информацией и сохранить данные в файлах Задание 1. Для хранения информации об имеющихся в библиотеке n учебниках используются динамические структуры: линейный список, очередь, стек. Для каждого учебника должны быть указаны: фамилия автора, название, год издания, количество имеющихся экземпляров, признак востребованности учебника. Создать указанные динамические структуры, заполнить их информацией и сохранить данные в файлах.... http://www.cyberforum.ru/cpp-beginners/thread795136.html
C++ декомпиляторы С++
Здравствуйте, интересен такой вопрос - существуют ли декомпиляторы в С++ ?
Одномерный массив (элементы с четными индексами переписать в массив z.в массиве z поменять местами максимальный и минимальный элементы) C++
задан массив x(n).элементы с четными индексами переписать в массив z.в массиве z поменять местами максимальный и минимальный элементы.помогите как найти и поменять местами max и min плз
C++ Определить является ли матрица магическим квадратом http://www.cyberforum.ru/cpp-beginners/thread795114.html
Здравствуйте. помогите написать программу на языке С++. Дана целая матрица n-го порядка. Определить является ли она магическим квадратом, т.е. такой в которой суммы элементов во всех стороках и столбцах одинаковы. Если можно с объяснением. заранее спасибо
C++ Непонятны некоторые функции Непонятны следующие функции, что они выполняют: (char)((int)('a')+j)) break; // что значит эта запись? char PROC(char s) // почему записывается в скобках новый char подробнее

Показать сообщение отдельно
Psixodelik
 Аватар для Psixodelik
38 / 37 / 2
Регистрация: 27.11.2009
Сообщений: 93
26.02.2013, 11:46     Быстрое округление числа
Можно пробовать через функции ceil и floor (из библиотеки cmath). Только тут есть проблема, мы не можем округлять числа с точкой, но можно выкрутиться так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream> 
#include <cmath>
 
 
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    double l = 4.576332;
 
    double n = std::ceil(l*1000)/1000;
 
    std::cout << n << std::endl;
    
   return 0;
}
На выходе получим 3.577

Если что, вот поясняю, что мы делаем:
1) Умножаем наше числа на нужную степень десятки(десятые, сотые, тысячные и т.д.)
2) С помощью функций floor(округление в меньшую сторону) или ceil(в большую) мы округляем наше число.
3) Делим число на нашу степень.

Грубо говоря, это тоже самое, что у тебя, просто сделано чуть по другому

эххх, SatanaXIII опередил
 
Текущее время: 13:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru