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

Решение по формулам - C++

Восстановить пароль Регистрация
 
Daniil Gavr
0 / 0 / 0
Регистрация: 24.11.2014
Сообщений: 2
24.11.2014, 09:23     Решение по формулам #1
В строке номер 24 (0.75*|COS B|), где B = ПИ/2, т.е. "0", имеем 0.75*0=0, но программа даёт ответ 0.75, подскажите пожалуйста, в чём ошибка?

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
31
32
33
34
#include <conio.h>      //для функции _getch
#include <iostream>     //Для функций cin, cout
#include <math.h>       //Для функций exp, pow
 
using namespace std;
 
 
double x,a,b;    // Исходные данные
double y,p,z;    // Результат
 
int main(int argc)
{
        setlocale (LC_ALL, "Russian");
        
        cout <<"Введите x="; // Ввод исходных данных
        cin >> x;
        cout <<"Введите a=";
        cin >> a;
        cout <<"Введите b=";
        cin >> b;
 
        y=(exp(x-2.7)+3)/(x+1.3); // Вычисления
        
        p=0.75*fabs(cos(b));
        
        z=(y+p+a)/((y*y)+p);
 
        cout <<"p= "<<p<<endl;
        cout <<"Результат"<<endl; // Вывод результата
        cout <<"y="<<y<<" z="<<z<<endl;
        
        _getch();      
    return 0;
}
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Max Dark
В поиске работы
 Аватар для Max Dark
1546 / 1399 / 501
Регистрация: 09.10.2013
Сообщений: 3,185
Записей в блоге: 8
Завершенные тесты: 2
24.11.2014, 09:45     Решение по формулам #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Т.е. Вы вводите 0? так же cos(0) = 1...
А Pi/2 ~ 1.5707963267949
Daniil Gavr
0 / 0 / 0
Регистрация: 24.11.2014
Сообщений: 2
24.11.2014, 09:52  [ТС]     Решение по формулам #3
Ох, точно, слона то я и не заметил, всё так просто, большое спасибо!
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
24.11.2014, 10:08     Решение по формулам #4
Cra3y, функция cos принимает значение в радианах. пи/2 радиан это 90 градусов. cos 90 градусов == 0.

Daniil Gavr, программа выдает не 0.75, а что то вроде -7.75587e-14. Что очень близко к нулю. Все дело в том, что числа с плавающей точкой хранят приближенные значения, а не точные. Попробуйте использовать манипулятор потока fixed, Вам этого должно хватить.
C++
1
cout << fixed <<"p= "<<p<<endl;
Max Dark
24.11.2014, 10:15     Решение по формулам
  #5

Не по теме:

Цитата Сообщение от Toshkarik Посмотреть сообщение
функция cos принимает значение в радианах.
я в курсе

Yandex
Объявления
24.11.2014, 10:15     Решение по формулам
Ответ Создать тему
Опции темы

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