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

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

Войти
Регистрация
Восстановить пароль
 
sergey_viper
9 / 3 / 1
Регистрация: 15.04.2012
Сообщений: 185
#1

Математические функции при работе с треугольником и прямоугольником: исправить код - C++

11.10.2012, 21:47. Просмотров 565. Ответов 8
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <math.h>
using namespace std;
 
int main()
{
    double a,b,c,d,e;
    cout << "Enter the sides of the triangle (a>b a>c)" << endl;
    cin >> a>> b>> c;
    cout << "Enter sides of the rectangle" << endl;
    cin >> d>> e;
    acos = ((pow(b,2) + pow(c,2) - pow(a,2))) / (2*b*c);
    cout << acos;
    return 0;
}
Выдаёт:
C:\Users\Viper\Documents\labs\3\3\triniagle\main.cpp||In function 'int main()':|
C:\Users\Viper\Documents\labs\3\3\triniagle\main.cpp|12|error: assignment of function 'double acos(double)'|
C:\Users\Viper\Documents\labs\3\3\triniagle\main.cpp|12|error: cannot convert 'double' to 'double(double)' in assignment|
C:\Users\Viper\Documents\labs\3\3\triniagle\main.cpp|13|warning: the address of 'double acos(double)' will always evaluate as 'true'|
||=== Build finished: 2 errors, 1 warnings ===|
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.10.2012, 21:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Математические функции при работе с треугольником и прямоугольником: исправить код (C++):

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

Исправить ошибки в работе функции - C++
Помогите, не работает, компилятор ошибки не выдает. Проблема, кажется, возникает при вызове функции genPass :wall: # include &lt;iostream&gt;...

Исправить ошибки при работе с функцией rand - C++
Он просто выводит максимальное число вместо того чтобы выводить рандомное или я что то не так делаю? Ознакомьтесь с правилами форума. ...

Исправить ошибку компиляции C2371 при работе с указателями - C++
Привет :) Проходу тему &quot;Указатели&quot;, написал программу. Компилятор ругается, не знаю почему. Сделал всё так как написано в примере....

Повреждена куча при работе с динам. памятью. Почему? Как исправить? - C++
Приветствую всех! Такая проблема: Вот есть код. В нем периодически появляются ошибки, а иногда и не появляется, и все хорошо работает....

Почему выдает ошибку при работе с большим файлом, напишите как исправить ? - C++
Помогите пожалуйста, данная программа берет текст из документа 1.txt ( если документ маленький то всё работает а если большой то выдает...

8
David Sylva
1288 / 950 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
11.10.2012, 21:51 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <math.h>
using namespace std;
 
int main()
{
    double a,b,c,d,e;
    double acos;
    cout << "Enter the sides of the triangle (a>b a>c)" << endl;
    cin >> a>> b>> c;
    cout << "Enter sides of the rectangle" << endl;
    cin >> d>> e;
    acos = ((pow(b,2) + pow(c,2) - pow(a,2))) / (2*b*c);
    cout << acos;
    return 0;
}
acos забыл объявить.
1
sergey_viper
9 / 3 / 1
Регистрация: 15.04.2012
Сообщений: 185
11.10.2012, 21:52  [ТС] #3
Если бы знал ещё
Спасибо вам
0
John Prick
801 / 734 / 145
Регистрация: 27.07.2012
Сообщений: 2,107
Завершенные тесты: 3
11.10.2012, 21:54 #4
И не называй её acos, потому что есть такая же функция и не сможешь её вызывать в таком случае.
0
sergey_viper
9 / 3 / 1
Регистрация: 15.04.2012
Сообщений: 185
11.10.2012, 22:20  [ТС] #5
Цитата Сообщение от John Prick Посмотреть сообщение
И не называй её acos, потому что есть такая же функция и не сможешь её вызывать в таком случае.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
   {
    double a,b,c,d,e,f,alpha,alpha2;
    cout << "Enter the sides of the triangle |a>b a>c|" << endl;
    cin >> a>> b>> c;
    cout << "Enter sides of the rectangle" << endl;
    cin >> d>> e;
    f = ((pow(b,2) + pow(c,2) - pow(a,2))) / (2*b*c);
    alpha = acos(f);
    cout << alpha<<endl;
    alpha2 = 180 - alpha;
    cout << alpha2;
    return 0;
}
Всё равно что-то не работает. Я ошибаюсь в вычислении арккосинуса. Покажите как правильно.
Нужно найти градусную меру угла (альфа) косинус которого равен ((pow(b,2) + pow(c,2) - pow(a,2))) / (2*b*c);
0
John Prick
801 / 734 / 145
Регистрация: 27.07.2012
Сообщений: 2,107
Завершенные тесты: 3
11.10.2012, 22:23 #6
Углы тут повсеместно в радианах. В градусы в ручную переводи.
0
sergey_viper
9 / 3 / 1
Регистрация: 15.04.2012
Сообщений: 185
11.10.2012, 23:38  [ТС] #7
Цитата Сообщение от John Prick Посмотреть сообщение
Углы тут повсеместно в радианах. В градусы в ручную переводи.
Точно! А вот об этом забыл.

Добавлено через 1 час 13 минут
Цитата Сообщение от John Prick Посмотреть сообщение
Углы тут повсеместно в радианах. В градусы в ручную переводи.
Может сможете помочь?
Мой потенциал иссяк на сегодня
Кликните здесь для просмотра всего текста
Даны a, b, c, d, e – вещественные числа. Выяснить, можно ли треугольник со сторонами a, b, c поместить внутри прямоугольника со сторонами d, e.

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
35
36
37
38
39
#include <iostream>
#include <math.h>
using namespace std;
 
int main()
{
    double a,b,c,d,e,f,h,g,o,alpha,alpha2;
    cout << "Enter the sides of the triangle |a>b a>c|" << endl;
    cin >> a>> b>> c;
    cout << "Enter sides of the rectangle" << endl;
    cin >> d>> e;
    alpha = acos(((pow(b,2) + pow(c,2) - pow(a,2))) / (2*b*c));
    alpha2 = 3.141592653 - alpha;
    h = cos(alpha2) * b;
    cout << alpha2<<endl<<alpha<<endl;
    cout << alpha<<endl;
        if (cos(alpha2) < 0)
            {
                if ((a>d || a>e) && (b>d || b>e) && (c>d || c>e))
                cout << "1DA"<<endl;
                else
                cout << "1NET"<<endl;
            }
            else
                {
                cout << h<<endl;
                o = c+h;
                cout << o<<endl;
                    if (o<e && o<d)
                    {g = sin(alpha) * b;
                        if (g<e && g<d)
                            {cout << "2DA!";
                            cout << g<<endl;}
                            else {cout << "2NET!";}
                            cout << g<<endl;}
                    else cout << "3NET!";}
 
    return 0;
}
0
John Prick
801 / 734 / 145
Регистрация: 27.07.2012
Сообщений: 2,107
Завершенные тесты: 3
11.10.2012, 23:54 #8
Цитата Сообщение от sergey_viper Посмотреть сообщение
Может сможете помочь?
Ну, батенька, С++ тут не причём, ежели математику из 5го класса не помнить
градус = радиан * 180 / пи
Добавлено через 3 минуты
Цитата Сообщение от sergey_viper Посмотреть сообщение
Выяснить, можно ли треугольник со сторонами a, b, c поместить внутри прямоугольника со сторонами d, e.
Я так подозреваю, что если бОльшая сторона треугольника меньше меньшей стороны прямоугольника - то можно. Найди max(max(a,b),c) и min(d,e) и сравни.

Добавлено через 7 минут
Хотя не, не прав. Могут быть и другие случаи.
0
sergey_viper
9 / 3 / 1
Регистрация: 15.04.2012
Сообщений: 185
12.10.2012, 08:59  [ТС] #9
Да тут проблема вся то в тупоугольном треугольнике
Я вычислил угол и тут понеслось Сдать к субботе, придётся повозиться)
0
12.10.2012, 08:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.10.2012, 08:59
Привет! Вот еще темы с ответами:

Табулирование функции (исправить код программы) - C++
Необходимо вычислить значение заданной функции. Осуществить вывод значений аргумента и результатов вычислений значений функции в заданном...

Вычислить значение функции(исправить готовый код) - C++
Вычислить значение функции y=(x+5.2)\(x+1)(3x+4), на промежутке с шагом h=0.3. Результаты расчетов вывести в виде таблицы пар х и у....

Функции с переменным количеством параметров, stdarg.h. Исправить код - C++
Почему не работает? В итоге получается 0, а если в функции все что надо заменить с float на int, то работает правильно. В чем ошибка? ...

Найти ошибки в определении функции поиска (исправить код) - C++
#include &lt;iostream&gt; #include &lt;string&gt; using namespace std; struct Cours { string surname; string coursname; ...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

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