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

расчет по формуле - C++

Восстановить пароль Регистрация
 
илья1995
3 / 3 / 1
Регистрация: 17.10.2011
Сообщений: 169
25.12.2012, 02:15     расчет по формуле #1
не понимаю как на с++ записать выражение sin2beta и cos2beta
вот задача:
Название: new.png
Просмотров: 71

Размер: 973 байт
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
tolimadokara
720 / 389 / 61
Регистрация: 24.10.2012
Сообщений: 2,795
25.12.2012, 02:32     расчет по формуле #2
Обычная какая то формула: бета(b) это углы, 2b это 2*b - угол умножен на 2. Подскажу как это написать на php, хоть это и будет немного оффтопом:

PHP
1
2
3
4
5
<?php
 
$z = (1+sin(2*b))/cos(2*b);
 
?>
В c++ тоже где то так будет выглядеть - это математическое выражение, только перед этим нужно будет подключить математическую библиотеку или заголовочный файл х.з.
илья1995
3 / 3 / 1
Регистрация: 17.10.2011
Сообщений: 169
25.12.2012, 02:50  [ТС]     расчет по формуле #3
спасибо думал не так просто

Добавлено через 6 минут
а beta нужно вводить вручную или программа должна сама выполнятся и выводить ответ
tolimadokara
720 / 389 / 61
Регистрация: 24.10.2012
Сообщений: 2,795
25.12.2012, 03:01     расчет по формуле #4
а beta нужно вводить вручную или программа должна сама выполнятся и выводить ответ
Иля, у тебя на картинке - формула, где параметр z (ось Y) зависит угла b (ось X), какое значение задашь углу бета, такое и соответственно с вычислениями в формуле будет значение z. Короче да, угол бета нужно вводить вручную
илья1995
3 / 3 / 1
Регистрация: 17.10.2011
Сообщений: 169
25.12.2012, 03:04  [ТС]     расчет по формуле #5
вот написал правильно ли оно считает?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
using namespace std;
#include <math.h>
int  main()
{ double b;
cout<<"vvedite beta ";
cin>>b;
    int z;
z = (1+sin(2*b))/cos(2*b);
cout<<"otvet "<<z;
cin>>z;
 
    system("pause");
    return 0;
}
tolimadokara
720 / 389 / 61
Регистрация: 24.10.2012
Сообщений: 2,795
25.12.2012, 03:11     расчет по формуле #6
Завтра гуру проснутся они тебе точно скажут. Я с++ мягко сказать хреново знаю, может там вместо sin надо sinus писать. В общем я думаю что правильно, но 11-я строчка в коде лишняя.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11837 / 6816 / 771
Регистрация: 27.09.2012
Сообщений: 16,906
Записей в блоге: 2
Завершенные тесты: 1
25.12.2012, 03:15     расчет по формуле #7
C++
1
2
double z;
z = (1.+sin(2.*b))/cos(2.*b);
Также учтите, что функции sin и cos принимают значение в радианах
илья1995
3 / 3 / 1
Регистрация: 17.10.2011
Сообщений: 169
04.01.2013, 21:22  [ТС]     расчет по формуле #8
как тут сделать проверку знаменателя он не должен =0 чтобы исключить деление на 0
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
05.01.2013, 02:07     расчет по формуле #9
C++
1
2
if (cos(2.*b) == 0)
 ...
илья1995
3 / 3 / 1
Регистрация: 17.10.2011
Сообщений: 169
09.01.2013, 01:09  [ТС]     расчет по формуле #10
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
#include <math.h>
int  main()
{ double b;
cout<<"vvedite beta ";
cin>>b;
if (cos(2.*b) == 0)
 
{cout<<"ERROR";}
else
{
    double z;
z = (1+sin(2*b))/cos(2*b);
cout<<"otvet "<<z;}
system("pause");
    return 0;
}
как и куда вставить break чтобы когда попадался 0 оно прерывало программу?

Добавлено через 8 минут
C++
1
2
if (cos(2.*b) == 0)
{cout<<"ERROR";}
вот условие есть но при нем только выводится сообщение но нужно чтоб еще программа прерывалась
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
09.01.2013, 01:22     расчет по формуле #11
C++
1
2
3
4
5
6
if (cos(2.*b) == 0)
{
 cout<<"ERROR";
 system("pause"); //по желанию, чтоб надпись сразу не исчезла
 break; // или return 1, например
}
илья1995
3 / 3 / 1
Регистрация: 17.10.2011
Сообщений: 169
09.01.2013, 01:29  [ТС]     расчет по формуле #12
Цитата Сообщение от BumerangSP Посмотреть сообщение
C++
1
2
3
4
5
6
if (cos(2.*b) == 0)
{
 cout<<"ERROR";
 system("pause"); //по желанию, чтоб надпись сразу не исчезла
 break; // или return 1, например
}
Спасибо но break нельзя вроде с if использовать у меня ошибку выдает в строчке с break а вот c return 0 вроде все гут
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
09.01.2013, 01:41     расчет по формуле #13

Не по теме:

ой, что-то не то написал)


Во всяком случае, лучше в ретурне 1 возвращать, это как бы показывает, что программа некорректно завершилась.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.01.2013, 01:43     расчет по формуле
Еще ссылки по теме:

Расчет погрешности C++
C++ Расчет через while, for
Расчет интервала C++

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

Или воспользуйтесь поиском по форуму:
илья1995
3 / 3 / 1
Регистрация: 17.10.2011
Сообщений: 169
09.01.2013, 01:43  [ТС]     расчет по формуле #14
спасибо
Yandex
Объявления
09.01.2013, 01:43     расчет по формуле
Ответ Создать тему
Опции темы

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