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

Проблема с задачей,а именно с "sqrt" - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 33, средняя оценка - 4.61
Александр725
0 / 0 / 0
Регистрация: 24.11.2011
Сообщений: 4
24.11.2011, 16:26     Проблема с задачей,а именно с "sqrt" #1
Помогите...
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
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
void main()
{
        double c, A, Hb;
        const double Pi=3.1415;
        cout<<"vvedite c, c="; cin>>c;
        cout<<"\nvvedite A, A="; cin>>A;
        cout<<"\nvvedite Hb, Hb="; cin>>Hb;
        double b=Hb/sqrt((1/2)*2);  IntelliSense: существует более одного экземпляра перегруженная функция "sqrt", соответствующего списку аргументов   
                double a=sqrt(b*b+c*c-2*b*c*cos(A));
            double R=a/(2*(sin(A)));
        double C=acos((a*a+b*b-c*c)/(2*a*b));
        double B=180-(A+C);
            double p=(a+b+c)/2;
        double r=sqrt(((p-a)*(p-b)*(p*c))/p); 
        double S=sqrt(p*(p-a)*(p-b)*(p-c));
  
        cout<<"\n  B="<<fixed<<setprecision(2)<<B<<endl;
        cout<<"\n  C="<<fixed<<setprecision(2)<<C<<endl;
        cout<<"\n  a="<<fixed<<setprecision(2)<<a<<endl;
        cout<<"\n  b="<<fixed<<setprecision(2)<<b<<endl;
        cout<<"\n  R="<<fixed<<setprecision(2)<<R<<endl;
        cout<<"\n  r="<<fixed<<setprecision(2)<<r<<endl;
        cout<<"\n  p="<<fixed<<setprecision(2)<<p<<endl;
        cout<<"\n  S="<<fixed<<setprecision(2)<<S<<endl;
    cin.get();
        cin.get();
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Диман56
22 / 22 / 0
Регистрация: 07.11.2011
Сообщений: 154
24.11.2011, 16:29     Проблема с задачей,а именно с "sqrt" #2
И...в чём проблема-то?
Александр725
0 / 0 / 0
Регистрация: 24.11.2011
Сообщений: 4
24.11.2011, 16:33  [ТС]     Проблема с задачей,а именно с "sqrt" #3
Цитата Сообщение от Александр725 Посмотреть сообщение
double b=Hb/sqrt((1/2)*2); *IntelliSense: существует более одного экземпляра перегруженная функция "sqrt", соответствующего списку аргументов
Вот здесь...
Сыроежка
Заблокирован
24.11.2011, 16:38     Проблема с задачей,а именно с "sqrt" #4
Цитата Сообщение от Александр725 Посмотреть сообщение
Вот здесь...
Исправить очень просто. Перепешите это выражение следующим образом:

C++
1
double b=Hb/sqrt((1.0/2)*2);
Если вы с первого раза не поняли, что надо сделать, то просто внутри функции 1 заменить на 1.0. Этого достаточно, чтобы компилятор знал, какую функцию использовать.
PointsEqual
24.11.2011, 16:38
  #5

Не по теме:

Цитата Сообщение от Александр725 Посмотреть сообщение
double b=Hb/sqrt((1/2)*2);
скорее всего вам тут нужен % а не /

но это я не про ошибку

Shaykemelov
9 / 9 / 2
Регистрация: 14.11.2011
Сообщений: 27
24.11.2011, 16:38     Проблема с задачей,а именно с "sqrt" #6
поппробуй double заменить на int
Александр725
0 / 0 / 0
Регистрация: 24.11.2011
Сообщений: 4
24.11.2011, 16:47  [ТС]     Проблема с задачей,а именно с "sqrt" #7
[QUOTE=Сыроежка;2207939]Исправить очень просто. Перепешите это выражение следующим образом:

C++
1
double b=Hb/sqrt((1.0/2)*2);
Если вы с первого раза не поняли, что надо сделать, то просто внутри функции 1 заменить на 1.0. Этого достаточно, чтобы компилятор знал, какую функцию использовать.[/QUOTE

Большое спасибо всё получилось
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.11.2011, 16:49     Проблема с задачей,а именно с "sqrt"
Еще ссылки по теме:

C++ Не могу справиться с задачей: "по какому предмету у студента с заданным номером в журнале лучшая оценка по итогам сессии?"!
Объясните что именно делает "x%d, y%d: " или что это в даном коде C++
C++ Проблема с перегрузкой операторов "+" и "+=" для классов Point и Circle

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

Или воспользуйтесь поиском по форуму:
Сыроежка
Заблокирован
24.11.2011, 16:49     Проблема с задачей,а именно с "sqrt" #8
[QUOTE=Александр725;2207993]
Цитата Сообщение от Сыроежка Посмотреть сообщение
Исправить очень просто. Перепешите это выражение следующим образом:

C++
1
double b=Hb/sqrt((1.0/2)*2);
Если вы с первого раза не поняли, что надо сделать, то просто внутри функции 1 заменить на 1.0. Этого достаточно, чтобы компилятор знал, какую функцию использовать.[/QUOTE

Большое спасибо всё получилось
 Комментарий модератора 
Запрещено накручивать репутацию любым способом, включая создание пользователей-клонов, а также склонять (агитировать) других пользователей к ее повышению.
Yandex
Объявления
24.11.2011, 16:49     Проблема с задачей,а именно с "sqrt"
Ответ Создать тему
Опции темы

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