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

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

Войти
Регистрация
Восстановить пароль
 
alexeybz
0 / 0 / 0
Регистрация: 17.03.2009
Сообщений: 3
#1

Задача с треугольником - C++

17.03.2009, 10:24. Просмотров 787. Ответов 4
Метки нет (Все метки)

Дан Треугольник: на рисунке, ниже, заданы две стороны a,b и площадь S. Вычислить и вывести на экран и в фаил остальные элементы треугольника, т.е. Сторону с, и углы A,B,C, а также высоту hb.
Изображения
 
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.03.2009, 10:24     Задача с треугольником
Посмотрите здесь:

Точка пересечения луча (прямой) с треугольником. C++
C++ Вывести цифры треугольником
Сортировка элементов матрицы "треугольником" C++
Математические функции при работе с треугольником и прямоугольником: исправить код C++
Задача с треугольником, найдите ошибку C++
Квадратная матрица, симметричная относительно главной диагонали, задана верхним треугольником в виде одномерного массива.Восстановить исходную матрицу C++
Работа с треугольником C++
C++ Класс С++ для работы с треугольником
C++ Нужно окно с треугольником!
C++ Разработать класс для описания и работы с треугольником

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Alligieri
CEO
Эксперт C++
 Аватар для Alligieri
2248 / 1237 / 24
Регистрация: 16.03.2009
Сообщений: 3,581
17.03.2009, 11:12     Задача с треугольником #2
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
#include <iostream.h>
#include <math.h>
#include <conio.h>
#include <stdio.h>
 
int main()
{ float a,b,c,kA,kB,kC,S,hb;
 
cout<<"Insert A"<<'\n';
cin>>a;
cout<<"insert B"<<'\n';
cin>>b;
cout<<"Insert S"<<'\n';
cin>>S;
hb=S/(0.5*b);
c=sqrt(hb*hb+b*b);
 
kA=asin(S/(0.5*b*c))*180/M_PI;
kB=asin(S/(0.5*a*c))*180/M_PI;
kC=asin(S/(0.5*b*a))*180/M_PI;
 
if ((kA+kB+kC)<180) printf("Truygolnik ne sysh4estvyet");
 else{
printf ("\n c = %f, A=%f,B=%f,C=%f, hb=%f", c,kA,kB,kC,hb);
          } ;
getch();
return 0;
}
Углы выводит в градусах.
Humanitis
 Аватар для Humanitis
172 / 164 / 6
Регистрация: 12.01.2009
Сообщений: 430
17.03.2009, 11:32     Задача с треугольником #3
C++
1
c=sqrt(hb*hb+b*b);
тута вот неверно.Надо брать не всю сторону b,а лишь ту часть что отсечена высотой.
надо считать исходя из этой формулы
c*с=a*a+b*b-2*a*b*cos(C)
Alligieri
CEO
Эксперт C++
 Аватар для Alligieri
2248 / 1237 / 24
Регистрация: 16.03.2009
Сообщений: 3,581
17.03.2009, 12:29     Задача с треугольником #4
Цитата Сообщение от Humanitis Посмотреть сообщение
C++
1
c=sqrt(hb*hb+b*b);
тута вот неверно.Надо брать не всю сторону b,а лишь ту часть что отсечена высотой.
надо считать исходя из этой формулы
c*с=a*a+b*b-2*a*b*cos(C)
нда, спасибо. не учел сейчас модифицирую код

Добавлено через 53 минуты 58 секунд
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
#include <iostream.h>
#include <math.h>
#include <conio.h>
#include <stdio.h>
 
int main()
{ float a,b,c,kA,kB,kC,S,hb,temp_b;
 
cout<<"Insert A"<<'\n';
cin>>a;
cout<<"insert B"<<'\n';
cin>>b;
cout<<"Insert S"<<'\n';
cin>>S;
hb=S/(0.5*b);
temp_b=b-sqrt(hb*hb+a*a);
c=sqrt(hb*hb+temp_b*temp_b);
 
kA=asin(S/(0.5*b*c))*180/M_PI;
kB=asin(S/(0.5*a*c))*180/M_PI;
kC=asin(S/(0.5*b*a))*180/M_PI;
 
if ((kA+kB+kC)<180) printf("Truygolnik ne sysh4estvyet");
 else{
printf ("\n c = %f, A=%f,B=%f,C=%f, hb=%f", c,kA,kB,kC,hb);
          } ;
getch();
return 0;
}
Пы.Сы. Спасибо Humanitis за подсказку
alexeybz
0 / 0 / 0
Регистрация: 17.03.2009
Сообщений: 3
18.03.2009, 19:45  [ТС]     Задача с треугольником #5
Огромное приогромное спасибо вам за помощь!!!

Добавлено через 21 час 11 минут 30 секунд
вопрос....по выводу в файл...
C++
1
2
3
4
5
file*f;
f=fopen("C:\\ff.txt", "w");
fprintf (f, "\n.\n Results:
"\n c = %f, A=%f,B=%f,C=%f, hb=%f", c,A,B,C,hb);
fclose(f);
прога жалуется, что неправильно(

Добавлено через 22 минуты 13 секунд
Цитата Сообщение от alexeybz Посмотреть сообщение
Огромное приогромное спасибо вам за помощь!!!

Добавлено через 21 час 11 минут 30 секунд
вопрос....по выводу в файл...
C++
1
2
3
4
5
file*f;
f=fopen("C:\\ff.txt", "w");
fprintf (f, "\n.\n Results:
"\n c = %f, A=%f,B=%f,C=%f, hb=%f", c,A,B,C,hb);
fclose(f);
прога жалуется, что неправильно(
Всё работает. Разобрался
Yandex
Объявления
18.03.2009, 19:45     Задача с треугольником
Ответ Создать тему
Опции темы

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