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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.79
Romazan168
0 / 0 / 0
Регистрация: 12.09.2011
Сообщений: 12
#1

В треугольнике заданы две стороны a, b и площадь S. Вычислить и вывести на экран остальные элементы треугольника. - C++

12.09.2011, 16:51. Просмотров 1789. Ответов 20
Метки нет (Все метки)

В треугольнике заданы две стороны a, b и площадь S. Вычислить и вывести
на экран остальные элементы треугольника.

Помогите пожалуйста, чет не могу разобраться. Находил уже здесь подобную, но там уже и if\else и т.д.
Если можно - чистым С++, заранее спасибо

Добавлено через 1 час 28 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
using namespace std;
int main(void)
{ double a, b, c, A, B, C, S, cqr, hb;
double Ap, Bp, Cp;
const float pi = 3.14;
cout << "Введите стороны а и b (см): ";
cin >> a >> b;
cout << "\n- Введите площадь S (см): ";
cin >> S;
getch();
    
    
    sin(Cp)=(2*S)/(a*b);
    cos(Cp)=sqrt(1-sin(Cp)*sin(Cp));
    hb=a*sin(Cp);
    cqr=a*a+b*b-2*a*b*cos(Cp);
    c=sqrt(cqr);
 
cout << "\n Результаты: ";
 
;cout "\n Сторона с = " << c << " см " <<;
Вот пытаюсь хотя бы сторону C найти, но почему то...
-g++ -Wall -o "lab11" "lab11.cpp" (в каталоге: C:\Program Files\Geany)
lab11.cpp: In function `int main()':
lab11.cpp:24: error: non-lvalue in assignment
lab11.cpp:25: error: non-lvalue in assignment
lab11.cpp:32: error: expected `;' before string constant
lab11.cpp:32: warning: statement has no effect
lab11.cpp:14: warning: unused variable 'A'
lab11.cpp:14: warning: unused variable 'B'
lab11.cpp:14: warning: unused variable 'C'
lab11.cpp:15: warning: unused variable 'Ap'
lab11.cpp:15: warning: unused variable 'Bp'
lab11.cpp:16: warning: unused variable 'pi'
Сборка завершилась с ошибкой.
(на неиспользованные не смотреть, просто пока с куском работаю и на них забил...)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.09.2011, 16:51     В треугольнике заданы две стороны a, b и площадь S. Вычислить и вывести на экран остальные элементы треугольника.
Посмотрите здесь:

Вычислить сторону треугольника ABC, зная две другие стороны и угол между ними C++
C++ Найти площадь равностороннего треугольника, если известна его стороны
В треугольнике заданы две стороны a, b ,c. Вычислить и вывести на экран остальные элементы треугольника. C++
Вывести числа в порядке убывания, вычислить площадь треугольника C++
По длинам двух сторон некоторого треугольника и углу между ними найти длину третьей стороны и площадь этого треугольника C++
C++ Вычислить площадь треугольника и вывести на экран
C++ Найти площадь треугольника, если заданы координаты его вершин
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alkagolik
Заблокирован
12.09.2011, 17:05     В треугольнике заданы две стороны a, b и площадь S. Вычислить и вывести на экран остальные элементы треугольника. #2
а весь код, не?
вот же ошибки
Код
lab11.cpp:24: error: non-lvalue in assignment
lab11.cpp:25: error: non-lvalue in assignment
lab11.cpp:32: error: expected `;' before string constant
покажи код чтобы строки совпадали.
Romazan168
0 / 0 / 0
Регистрация: 12.09.2011
Сообщений: 12
12.09.2011, 17:10  [ТС]     В треугольнике заданы две стороны a, b и площадь S. Вычислить и вывести на экран остальные элементы треугольника. #3
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
//      Без имени.cxx
//      
//      
//      
//      
 
 
#include <iostream>
#include <iomanip>
#include <math.h>
#include <conio.h>
using namespace std;
int main(void)
{ double a, b, c, A, B, C, S, cqr, hb;
double Ap, Bp, Cp;
const float pi = 3.14;
cout << "Введите стороны а и b (см): ";
cin >> a >> b;
cout << "\n- Введите площадь S (см): ";
cin >> S;
getch();
    
    
    sin(Cp)=(2*S)/(a*b);
    cos(Cp)=sqrt(1-sin(Cp)*sin(Cp));
    hb=a*sin(Cp);
    cqr=a*a+b*b-2*a*b*cos(Cp);
    c=sqrt(cqr);
 
cout << "\n Результаты: ";
 
;cout "\n Сторона с = " << c << " см " <<;
        
        
}
alkagolik
Заблокирован
12.09.2011, 17:16     В треугольнике заданы две стороны a, b и площадь S. Вычислить и вывести на экран остальные элементы треугольника. #4
так не бывает
C++
1
2
sin(Cp)=...
cos(Cp)=...
бывает так
C++
1
2
переменная = sin(Cp)
переменная = cos(Cp)
в твоем случае так
C++
1
Cp = sin((2*S)/(a*b))
это
C++
1
;cout/* пропущен оператор << */ "\n Сторона с = " << c << " см " <<;
поменяй на это
C++
1
cout  << "\n Сторона с = " << c << " см " <<;
grizlik78
Эксперт С++
1903 / 1435 / 109
Регистрация: 29.05.2011
Сообщений: 2,989
12.09.2011, 17:22     В треугольнике заданы две стороны a, b и площадь S. Вычислить и вывести на экран остальные элементы треугольника. #5
Не надо пытаться присвоить значения функциям sin() и cos(), их можно использовать только справа от знака =. Можно завести переменные для хранения этих значений:
C++
1
2
3
4
5
    double sinCp = (2.0*S)/(a*b);
    double cosCp = sqrt(1-sinCp*sinCp);
    hb = a*sinCp;
    cqr = a*a+b*b-2*a*b*cosCp;
    c = sqrt(cqr);
Добавлено через 1 минуту
Цитата Сообщение от alkagolik Посмотреть сообщение
в твоем случае так
C++
1
Cp = sin((2*S)/(a*b))
Ну, тогда уж
C++
1
Cp = asin((2*S)/(a*b))
Romazan168
0 / 0 / 0
Регистрация: 12.09.2011
Сообщений: 12
12.09.2011, 17:26  [ТС]     В треугольнике заданы две стороны a, b и площадь S. Вычислить и вывести на экран остальные элементы треугольника. #6
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
40
41
42
43
//      Без имени.cxx
//      
//      
//      
//      
 
 
//      Без имени.cxx
//      
//      
//      
//      
 
 
#include <iostream>
#include <iomanip>
#include <math.h>
#include <conio.h>
using namespace std;
int main(void)
{ double a, b, c, A, B, C, S, cqr, hb, sC,cC;
double Ap, Bp, Cp;
const float pi = 3.14;
cout << "Введите стороны а и b (см): ";
cin >> a >> b;
cout << "\n- Введите площадь S (см): ";
cin >> S;
getch();
    
    
    double sinCp = (2.0*S)/(a*b);
    double cosCp = sqrt(1-sinCp*sinCp);
    hb = a*sinCp;
    cqr = a*a+b*b-2*a*b*cosCp;
    c = sqrt(cqr);
 
cout << "\n Результаты: ";
 
cout << "\n Сторона с = " << c << " см " ;
        
        
        
}
Попробовал так, но все равно не выходит...

+ И чтобы sin после равно - тоже нифига...
alkagolik
Заблокирован
12.09.2011, 17:31     В треугольнике заданы две стороны a, b и площадь S. Вычислить и вывести на экран остальные элементы треугольника. #7
не объявлены переменные sC, cC
C++
1
2
sC=(2*S)/(a*b);
cC=sqrt(1-sC*sC);
убирай ненужный мусор
#include <conio.h>
grizlik78
Эксперт С++
1903 / 1435 / 109
Регистрация: 29.05.2011
Сообщений: 2,989
12.09.2011, 17:32     В треугольнике заданы две стороны a, b и площадь S. Вычислить и вывести на экран остальные элементы треугольника. #8
Цитата Сообщение от Romazan168 Посмотреть сообщение
Попробовал так, но все равно не выходит...
Что именно? Какие ошибки?

Добавлено через 31 секунду
Цитата Сообщение от alkagolik Посмотреть сообщение
не объявлены переменные sC, cC
Объявлены.
alkagolik
Заблокирован
12.09.2011, 17:34     В треугольнике заданы две стороны a, b и площадь S. Вычислить и вывести на экран остальные элементы треугольника. #9
Цитата Сообщение от grizlik78 Посмотреть сообщение

Объявлены.
их не было
Romazan168
0 / 0 / 0
Регистрация: 12.09.2011
Сообщений: 12
12.09.2011, 17:35  [ТС]     В треугольнике заданы две стороны a, b и площадь S. Вычислить и вывести на экран остальные элементы треугольника. #10
grizlik78, Ошибок нет, просто С не находит...
Финальная прога -
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
//      Без имени.cxx
//      
//      
//      
//      
 
 
#include <iostream>
#include <iomanip>
#include <math.h>
#include <conio.h>
using namespace std;
int main(void)
{ double a, b, c, A, B, C, S, cqr, hb, sC,cC;
double Ap, Bp, Cp;
const float pi = 3.14;
cout << "Введите стороны а и b (см): ";
cin >> a >> b;
cout << "\n- Введите площадь S (см): ";
cin >> S;
getch();
    
    
    Cp = sin(2.0*S)/(a*b);
    Cp = sqrt(1-sinCp*sinCp);
    hb = a*sinCp;
    cqr = a*a+b*b-2*a*b*cosCp;
    c = sqrt(cqr);
 
cout << "\n Результаты: ";
 
cout << "\n Сторона с = " << c << " см " ;
        
        
}
alkagolik
Заблокирован
12.09.2011, 17:38     В треугольнике заданы две стороны a, b и площадь S. Вычислить и вывести на экран остальные элементы треугольника. #11
просто С не находит
чего кто не находит? поясни
программа работает. скомпилровал, запустил, все гут

покажу что тут "Сборка -> установить команды сборки" в графе выполнить
а лучше скрин этого окошка
Romazan168
0 / 0 / 0
Регистрация: 12.09.2011
Сообщений: 12
12.09.2011, 17:47  [ТС]     В треугольнике заданы две стороны a, b и площадь S. Вычислить и вывести на экран остальные элементы треугольника. #12
alkagolik, Ну сейчас мы ищем сторону С, ее почему то не находит при любых условиях, nan и все тут...
-=ЮрА=-
Заблокирован
Автор FAQ
12.09.2011, 17:49     В треугольнике заданы две стороны a, b и площадь S. Вычислить и вывести на экран остальные элементы треугольника. #13
Упс не в тот топик написал...
Romazan168
0 / 0 / 0
Регистрация: 12.09.2011
Сообщений: 12
12.09.2011, 17:51  [ТС]     В треугольнике заданы две стороны a, b и площадь S. Вычислить и вывести на экран остальные элементы треугольника. #14
alkagolik, выполнить - "./%e"
grizlik78
Эксперт С++
1903 / 1435 / 109
Регистрация: 29.05.2011
Сообщений: 2,989
12.09.2011, 17:51     В треугольнике заданы две стороны a, b и площадь S. Вычислить и вывести на экран остальные элементы треугольника. #15
Romazan168, ты программы на ходу переделываешь, последняя версия, вон, вообще сломатая. Но исходный вариант работал, вроде, правильно.
Контрольный пример: стороны 1.5 и 2, площадь 1.5. Третья сторона должна получиться 2.5
alkagolik
Заблокирован
12.09.2011, 17:52     В треугольнике заданы две стороны a, b и площадь S. Вычислить и вывести на экран остальные элементы треугольника. #16
Цитата Сообщение от Romazan168 Посмотреть сообщение
alkagolik, Ну сейчас мы ищем сторону С, ее почему то не находит при любых условиях, nan и все тут...
Код
$ ./tmp 
Введите стороны а и b (см): 1.5
2.0

- Введите площадь S (см): 1.5

 Результаты: 
 Сторона с = 2.5 см
Romazan168
0 / 0 / 0
Регистрация: 12.09.2011
Сообщений: 12
12.09.2011, 17:55  [ТС]     В треугольнике заданы две стороны a, b и площадь S. Вычислить и вывести на экран остальные элементы треугольника. #17
grizlik78, Теперь кажется разобрался - вписывать все через десятичные Что ж, теперь буду находить остальные углы ( но это уже легче )
-=ЮрА=-
Заблокирован
Автор FAQ
12.09.2011, 18:01     В треугольнике заданы две стороны a, b и площадь S. Вычислить и вывести на экран остальные элементы треугольника. #18
Цитата Сообщение от Romazan168 Посмотреть сообщение
В треугольнике заданы две стороны a, b и площадь S. Вычислить и вывести
на экран остальные элементы треугольника.
- площадь треугольника состоит из суммы двух площадей прямоугольных треугольников с гипотенузами а и b:

S = 0.5*c*h = 0.5*sqrt(a^2 - h^2)*h + 0.5*sqrt(b^2 - h^2)*h
Решаем всё относительно c
grizlik78
Эксперт С++
1903 / 1435 / 109
Регистрация: 29.05.2011
Сообщений: 2,989
12.09.2011, 18:03     В треугольнике заданы две стороны a, b и площадь S. Вычислить и вывести на экран остальные элементы треугольника. #19
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
площадь треугольника состоит из суммы двух площадей прямоугольных треугольников с гипотенузами а и b:
В таком случае одна из площадей может оказаться со знаком минус.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.09.2011, 18:19     В треугольнике заданы две стороны a, b и площадь S. Вычислить и вывести на экран остальные элементы треугольника.
Еще ссылки по теме:

C++ Найти длину 3ей стороны и площадь этого треугольника
Заданы координаты вершин треугольника. Вывести их в порядке обхода треугольника по часовой стрелке C++
C++ Вычислите площадь треугольника, если известны две его стороны
По заданным координатам вершин треугольника найти стороны и площадь C++
C++ Найти длину третьей стороны и площадь треугольника

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

Или воспользуйтесь поиском по форуму:
Romazan168
0 / 0 / 0
Регистрация: 12.09.2011
Сообщений: 12
12.09.2011, 18:19  [ТС]     В треугольнике заданы две стороны a, b и площадь S. Вычислить и вывести на экран остальные элементы треугольника. #20
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
//      Без имени.cxx
//      
//      
//      
//      
 
 
#include <iostream>
#include <iomanip>
#include <math.h>
#include <conio.h>
using namespace std;
int main(void)
{ double a, b, c, A, B, C, S, cqr, hb, sC,cC;
double Ap, Bp, Cp;
const float pi = 3.14;
cout << "Введите стороны а и b (см): ";
cin >> a >> b;
cout << "\n- Введите площадь S (см): ";
cin >> S;
getch();
    
    
    double sinCp = (2.0*S)/(a*b);
    double cosCp = sqrt(1-sinCp*sinCp);
    hb = a*sinCp;
    cqr = a*a+b*b-2*a*b*cosCp;
    c = sqrt(cqr);
    double sinAp = a*sinCp/c;
    double cosAp = sqrt(1-sinAp*sinAp);
    A=sinAp*pi/180;
    Bp=asin(b*sinAp/a);
    B=Bp*pi/180;
cout << "\n Результаты: ";
 
cout << "\n Сторона с = " << c << " см " ;
cout << "\n Угол A = " << A << " гр " ;
cout << "\n Угол В = " << Bp << " см " ;
getch();
Углы выдает -
A=0.0104667
B=0.927295
Их как точно перевести чтобы они нормально отобразились ? Нам что-то про радианы говорили, но как то отдаленно...
Yandex
Объявления
12.09.2011, 18:19     В треугольнике заданы две стороны a, b и площадь S. Вычислить и вывести на экран остальные элементы треугольника.
Ответ Создать тему
Опции темы

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