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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 38, средняя оценка - 4.79
siemdi
4 / 4 / 0
Регистрация: 18.01.2010
Сообщений: 30
#1

округление - C++

19.09.2010, 16:36. Просмотров 5164. Ответов 5
Метки нет (Все метки)

суть проблемы такова, Ro=sqrt(SumR/(1/SumR)) вот этот кусок прраммы почему округляет ответ до целых, хотя Ro типа double, помогите, в чем проблемма?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
for(i=0;i<KolRez;i++)
    {
        do
        {
            cout<<"    номинальное сопротивление "<<i+1<<" резистора"<<endl;
            cout<<"    (25<=R[i]<=500000)"<<endl;
            cin>>R[i];
        }
        while((R[i]>500000)||(R[i]<25));
        SumR+=R[i];
    }
    for(i=0;i<KolRez;i++)
    {
    cout<<"R["<<i+1<<"]="<<R[i]<<endl;
    }
    cout<<"SumR="<<SumR<<endl;
    Ro=sqrt(SumR/(1/SumR));
    cout<<"Ro="<<Ro<<endl;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.09.2010, 16:36     округление
Посмотрите здесь:

Округление - C++
Почему при таком коде: #include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;cmath&gt; using namespace std; int main() { cout &lt;&lt;...

Округление до 0,5 - C++
Уважаемые форумчане, подскажите как реализовать округление до 0,5. То есть, например: 4,3 округляется до 4,5, а 4,2 до 4,0.

Округление - C++
Привет всем.Возникла необходимость округлить число до 1000.Как это реализовать.Помогите пожалуйста.

Округление дробных - C++
Добрый день! Подскажите как можно округлить число с плавающей точкой до определённого числа знаков после точки? например до 4: ...

Округление числа - C++
Кто-нибудь может подробно-подробно объяснить, как округлять числа в C++. А то я то, что причитал, ничего не понял. Вот у меня...

Округление числа - C++
Не пойму, почему компилятор пишет Выражение должно иметь целочисленный или перечисляемый тип. Код для округления числа float...

Округление до целых - C++
Как округлить число с вещественного, в целое? функция round из math.h не пашет.

Округление чисел С++ - C++
Как сделать та чтоб после запятой в числе всегда било три цифри хоть ето и ноль . Например: 4.000 4.100 7.111

Округление чисел - C++
Здравствуйте! Не подскажите, как в си++ округлять числа? Дело в том, что я нашёл в справочнике Герберта Шилдта функции округления - round и...

Округление Double - C++
Использую Double, возникают при тонких расчетах проблемы с округлением. Какие есть стандартные способы решения? :)

Округление double - C++
Короче ввожу число 1.05 в Debug показывает его, как 1.004999999999999999995663191310058 вот как эту чушь убрать, у меня задача из-за...

Программа на с\с++ (округление чисел) - C++
помогите пожалуйста, нужно написать программу которая округляет числа не используя уже встроенных в компилятор функций.


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
В астрале
Эксперт С++
7969 / 4731 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 3
19.09.2010, 16:40     округление #2
siemdi, SumR тоже неплохо бы сделать double или float. Ну или 1.0 написать вместо 1.
PointsEqual
ниначмуроФ
834 / 518 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
19.09.2010, 16:41     округление #3
C++
1
Ro=(float)sqrt(SumR/((float)1/SumR));
D@rkD@iver
111 / 111 / 3
Регистрация: 01.10.2008
Сообщений: 876
19.09.2010, 16:41     округление #4
siemdi, проблема в том что r/(1/r)= r^2
а sqrt(r^2)= r
и если r целое то и Ro целое
alex_x_x
бжни
2445 / 1650 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
19.09.2010, 16:43     округление #5
Ro=sqrt(1.0*SumR/(1/SumR))
siemdi
4 / 4 / 0
Регистрация: 18.01.2010
Сообщений: 30
19.09.2010, 16:46  [ТС]     округление #6
Цитата Сообщение от Lavroff Посмотреть сообщение
siemdi, SumR тоже неплохо бы сделать double или float. Ну или 1.0 написать вместо 1.
SumR тоже double
Цитата Сообщение от D@rkD@iver Посмотреть сообщение
siemdi, проблема в том что r/(1/r)= r^2
а sqrt(r^2)= r
и если r целое то и Ro целое
я это тоже поинмаю, но подставляя четыре значения (40 421 560 1001) и подсчитывая вручную, получается как раз то что должно быть 2021,9179 а в формуле в программе получается целое 2022 что такое не понятно, да и вообще суть этой формулы я не понимаю
Yandex
Объявления
19.09.2010, 16:46     округление
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru