Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/64: Рейтинг темы: голосов - 64, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 14.10.2008
Сообщений: 11

Найти углы треугольника

14.10.2008, 22:16. Показов 11973. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
imeem 3 boka triugolnika, naiti ugly etogo triugolnika. vot sto ja imeju:
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
#include <cstdlib>
#include <iostream>
#include <math.h>
#include <stdio.h>
 
using namespace std;
 
int main(int argc, char *argv[])
{
 
    double a,b,c,k1,k2,k3,x;
    cout<<"Iveskite krastines a ilgi"<<endl;
    cout<<"a=";
    cin>>a;
    cout<<"Iveskite krastines b ilgi"<<endl;
    cout<<"b=";
    cin>>b;
    cout<<"Iveskite krastines c ilgi"<<endl;
    cout<<"c=";
    cin>>c;
    
if ((a+b<c) & (a+c<b) & (b+c<a))
cout<<"Tokio trikampio neegzistoja"<<endl;
else
{
cout<<"Skaiciuojame kampa tarp krastiniu a ir b"<<endl;
k1==acos(((a*a)+(b*b)-(c*c))/(2.*a*b));
cout<<k1 <<" "<<endl;
printf("k1= %f\n",k1);
cout<<"Skaiciuojame kampa tarp krastiniu a ir c"<<endl;
k2==acos(((a*a)+(c*c)-(b*b))/(2.*a*c));
cout<<k2 <<" "<<endl;
cout<<"Skaiciuojame kampa tarp krastiniu c ir b"<<endl;
k3==acos(((c*c)+(b*b)-(a*a))/(2.*c*b));
cout<<k3 <<" "<<endl;
}
    
    system("PAUSE");
    return EXIT_SUCCESS;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.10.2008, 22:16
Ответы с готовыми решениями:

С клавиатуры вводятся три числа, считая их сторонами треугольника найти углы этого треугольника
с клавиатуры вводятся три числа, считая их сторонами треугольника найти углы этого треугольника, можно это как-то просто написать, без...

Найти все углы треугольника со сторонами a , b , c
Найти все углы треугольника со сторонами a , b , c . Предусмотреть в программе перевод радианной меры угла в градусы, минуты и секунды....

Найти углы треугольника с заданными сторонами
Составить программу, которая определяет углы треугольника со сторонами а, b, с по известным формулам:

13
3 / 3 / 0
Регистрация: 04.09.2008
Сообщений: 20
14.10.2008, 23:30
О ужс! В "cout"-ах там что а язык?
Во-первых, в условии if стоит поразрядное И, хотя по моей логике должно стоять логическое ИЛИ.
Во-вторых, там где считаешь углы, у тебя стоит оператор сравнения, вместо оператора присваивания.
В-третьих, в ретурне проще написать 0;
В-четвертых, лучше не смешивать вывод с помощью "cout" и "printf".
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
15.10.2008, 11:27
попробуй так:
Code
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
#include <cstdlib>
#include <iostream>
#include <math.h>
#include <stdio.h>
 
using namespace std;
 
int main(int argc, char *argv[])
{
 
    double a,b,c,k1,k2,k3,x;
    cout<<"Iveskite krastines a ilgi"<<endl;
    cout<<"a=";
    cin>>a;
    cout<<"Iveskite krastines b ilgi"<<endl;
    cout<<"b=";
    cin>>b;
    cout<<"Iveskite krastines c ilgi"<<endl;
    cout<<"c=";
    cin>>c;
    
if ((a+b<c) && (a+c<b) && (b+c<a)) 
cout<<"Tokio trikampio neegzistoja"<<endl;
else
{
cout<<"Skaiciuojame kampa tarp krastiniu a ir b"<<endl;
k1=acos(((a*a)+(b*b)-(c*c))/(2.*a*b));
cout<<"K1 = "<<k1 <<" "<<endl;
//printf("k1= %f\n",k1);
cout<<"Skaiciuojame kampa tarp krastiniu a ir c"<<endl;
k2=acos(((a*a)+(c*c)-(b*b))/(2.*a*c));
cout<<"K2="<<k2 <<" "<<endl;
cout<<"Skaiciuojame kampa tarp krastiniu c ir b"<<endl;
k3=acos(((c*c)+(b*b)-(a*a))/(2.*c*b));
cout<<"K3="<<k3 <<" "<<endl;
}
    
    system("PAUSE");
    return EXIT_SUCCESS;
}
0
0 / 0 / 0
Регистрация: 14.10.2008
Сообщений: 11
15.10.2008, 19:25  [ТС]
spasibo. vrose vsio rabotajet, no vot drugaja problemka: mnie ugal nie scitajet. vot sto vybivajet:
Iveskite krastines a ilgi
a=5
Iveskite krastines b ilgi
b=12
Iveskite krastines c ilgi
c=13
Skaiciuojame kampa tarp krastiniu a ir b
5.34651e+036
Skaiciuojame kampa tarp krastiniu a ir c
2.29204e-036
Skaiciuojame kampa tarp krastiniu c ir b
7.89725e+033
Jusu trikampis yra bukas
Для продолжения нажмите любую клавишу . . .
Kak s etim barotca? kakta ja slysala sto kompjutar scitajet v rad, a kak pereiti na gradusy?
P.S. v cont'ax litovskii jazyk prostite za gramaticheskije osibki...
0
3 / 3 / 0
Регистрация: 04.09.2008
Сообщений: 20
15.10.2008, 20:26
Для пересчета в градусы умножь на 180 и подели на пи.

Прога в целом работает норм..
Только в условии должны быть логические ИЛИ вместо И!!!

Добавлено через 31 минуту 34 секунды
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>
#include <math.h>
using namespace std;
 
int main(){
    double a, b, c, k1, k2, k3;
    cout << "Enter the side "a" of the triangle" << endl;
    cin >> a;
    cout << "Enter the side "b" of the triangle" << endl;
    cin >> b;
    cout << "Enter the side "c" of the triangle" << endl;
    cin >> c;
    if ((a+b<c) || (a+c<b) || (b+c<a)) cout << "Triangle with this sides dont exist" << endl;
    else{
         k1 = acos(((a*a)+(b*b)-(c*c))/(2.*a*b));
         k1 = (k1*180)/M_PI;
         cout << "The angle between the sides "a" and "b" - " << k1 << endl;
         k2 = acos(((a*a)+(c*c)-(b*b))/(2.*a*c));
         k2 = (k2*180)/M_PI;
         cout << "The angle between the sides "a" and "c" - " << k2 << endl;
         k3 = acos(((c*c)+(b*b)-(a*a))/(2.*c*b));
         k3 = (k3*180)/M_PI;
         cout << "The angle between the sides "c" and "b" - " << k3 << endl;
         }
    cout << endl;
    system("pause");
    return 0;
}
вот как-то так
0
0 / 0 / 0
Регистрация: 14.10.2008
Сообщений: 11
17.10.2008, 15:31  [ТС]
ogromnoje spasibo!!!

Добавлено через 7 минут 16 секунд
pravdu govoria, ja v programiryvanje polnyj 0 porchti nechego ni ponimaju, za iskluchenijem samyx elementarnyx vescej :'( no ja pravda starajus, vsiakije knizki bieru chitaju, sama probuju kakijeta programki pisat', kaneshno ni ochen' poluchajetca . Tak vot, objesnite pozaluista kak vot v etu moju programku vpisac funkciju, kotoraja budet scitat' ugly? moja uchitelnica skazala shto obizatelno dolzna byt' eta funkcija, stoby 3 raza nie pisat' formulu, tak kak eto nie krasivo vygledit.
0
3 / 3 / 0
Регистрация: 04.09.2008
Сообщений: 20
17.10.2008, 16:37
Эмм... если честно, не понял, что нужно сделать =)

Третий угол можно сосчитать, как "k3 = 180 - k1 - k2". Это спасет? =)
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
17.10.2008, 16:47
вроде бы так:
Code
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
#include <math.h>
using namespace std;
double ddd(double a, double b, double c){
  return acos(((a*a)+(b*b)-(c*c))/(2.*a*b));
}
int main(){
    double a, b, c, k1, k2, k3;
    cout << "Enter the side \"a\" of the triangle" << endl;
    cin >> a;
    cout << "Enter the side \"b\" of the triangle" << endl;
    cin >> b;
    cout << "Enter the side \"c\" of the triangle" << endl;
    cin >> c;
    if ((a+b<c) || (a+c<b) || (b+c<a)) cout << "Triangle with this sides dont exist" << endl;
    else{
         cout << "The angle between the sides \"a\" and \"b\" - " << 
(ddd(a, b, c)*180)/M_PI << endl;
         cout << "The angle between the sides \"a\" and \"c\" - " << 
(ddd(a, c, b)*180)/M_PI  << endl;
         cout << "The angle between the sides \"c\" and \"b\" - " << 
(ddd(b, c, a)*180)/M_PI  << endl;
         }
    cout << endl;
    system("pause");
    return 0;
}
0
3 / 3 / 0
Регистрация: 04.09.2008
Сообщений: 20
17.10.2008, 20:24
аа.. все понял =)

вот так еще можно..
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
#include <iostream>
#include <math.h>
using namespace std;
 
void angles(double a, double b, double c, double& ka, double& kb, double& kc){
    kc = acos(((a*a)+(b*b)-(c*c))/(2.*a*b));
    kc = (kc*180)/M_PI;
    kb = acos(((a*a)+(c*c)-(b*b))/(2.*a*c));
    kb = (kb*180)/M_PI;
    ka = acos(((c*c)+(b*b)-(a*a))/(2.*c*b));
    ka = (ka*180)/M_PI;       
}
 
int main(){
    double a, b, c, ka = 0, kb = 0, kc = 0;
    cout << "Enter the side "a" of the triangle" << endl;
    cin >> a;
    cout << "Enter the side "b" of the triangle" << endl;
    cin >> b;
    cout << "Enter the side "c" of the triangle" << endl;
    cin >> c;
    if ((a+b<c) || (a+c<b) || (b+c<a)) cout << "Triangle with this sides dont exist" << endl;
    else{
         angles(a, b, c, ka, kb, kc);
         cout << "The angle between the sides "a" and "b" - " << kc << endl;
         cout << "The angle between the sides "a" and "c" - " << kb << endl;
         cout << "The angle between the sides "c" and "b" - " << ka << endl;
         }
    cout << endl;
    system("pause");
    return 0;
}
Здесь угол "ka" - находится напротив стороны "а", "kb" напротив b, "kc" напротив "c".
0
0 / 0 / 0
Регистрация: 14.10.2008
Сообщений: 11
18.10.2008, 12:17  [ТС]
jasninka, budu probyvat' rozbiratca vsem uzasna blagodarna.!! ogromnoje spasibo!!

Добавлено через 14 часов 13 минут 10 секунд
Vot u menja rodilsia vopros k “Ranoferu“: zachem nuzen znak & vot v etoi strokie:

void angles(double a, double b, double c, double& ka, double& kb, double& kc)??

nikak nie mogu ponjat...
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
18.10.2008, 12:18
ola312, туда будут записаны результаты вычислений, т.к. функция возвращает три угла...
0
3 / 3 / 0
Регистрация: 04.09.2008
Сообщений: 20
19.10.2008, 00:28
Цитата Сообщение от ola312 Посмотреть сообщение
Vot u menja rodilsia vopros k “Ranoferu“: zachem nuzen znak & vot v etoi strokie:

void angles(double a, double b, double c, double& ka, double& kb, double& kc)??

nikak nie mogu ponjat...
Знак & в этом случае, нужен для того, чтобы передать в функцию адрес переменной, то есть функция, получив адрес переменной, может изменить саму переменную. Если же ты уберешь & то в функцию уйдет копия значения переменной, которая в функции изменится, а сама переменная останется равна нулю.
0
0 / 0 / 0
Регистрация: 14.10.2008
Сообщений: 11
19.10.2008, 01:04  [ТС]
Ochen' stydno vas snovo sprashyvat', no pravda ni imieju k komu bolshe obrotitca . u menia kak vsigda problemy s etoj programkoj. Ja vzela programku “WooDooMan'a“:
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
#include <math.h>
using namespace std;
double ddd(double a, double b, double c){
  return acos(((a*a)+(b*b)-(c*c))/(2.*a*b));
}
int main(){
    double a, b, c, k1, k2, k3;
    cout << "Enter the side "a" of the triangle" << endl;
    cin >> a;
    cout << "Enter the side "b" of the triangle" << endl;
    cin >> b;
    cout << "Enter the side "c" of the triangle" << endl;
    cin >> c;
    if ((a+b<c) || (a+c<b) || (b+c<a)) cout << "Triangle with this sides dont exist" << endl;
    else{
         cout << "The angle between the sides "a" and "b" - " << 
(ddd(a, b, c)*180)/M_PI << endl;
         cout << "The angle between the sides "a" and "c" - " << 
(ddd(a, c, b)*180)/M_PI  << endl;
         cout << "The angle between the sides "c" and "b" - " << 
(ddd(b, c, a)*180)/M_PI  << endl;
         }
    cout << endl;
    system("pause");
    return 0;
}
i pieredelala niemnogo na svoj lad, vot shto u menja poluchilos:
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;
 
double ddd(int a, int b, int c, float& k1, float& k2, float& k3)
{ float k1, k2, k3;
  k1=((acos(((a*a)+(b*b)-(c*c))/(2.*a*b)))*180)/M_PI;
  return k1, k2, k3;
}
int main(){
    int a, b, c, k1, k2, k3;
    cout << "Enter the side "a" of the triangle" << endl;
    cin >> a;
    cout << "Enter the side "b" of the triangle" << endl;
    cin >> b;
    cout << "Enter the side "c" of the triangle" << endl;
    cin >> c;
    
    if ((a+b<c) || (a+c<b) || (b+c<a))
    cout << "Triangle with this sides dont exist" << endl;
    else
    {
    cout << "The angle between the sides "a" and "b" - " << k1=ddd(a, b, c)<< endl;
    cout << "The angle between the sides "a" and "c" - " << k2=ddd(a, c, b)<< endl;
    cout << "The angle between the sides "c" and "b" - " << k3=ddd(b, c, a)<< endl;
         }
    cout << endl;
    
    if(k1==90 || k2==90 || k3==90)
    cout<<"vash triugolnik priamougolnyj"<<endl;
    if(k1<90 && k2<90 && k3<90)
    cout<<"vash triugolnik ostrougolnyj"<<endl;
    if(k1>90 || k2>90 || k3>90)
    cout<<"Vash triugolnik tupougolnyj"<<endl;
    
    system("pause");
    return 0;
}
no, kak vy uze naverna dogodalis, ona u menja nie robotajet...:'( pomogite pozaluista, nadejus chto v poslednij raz vas biezpokoju...
0
3 / 3 / 0
Регистрация: 04.09.2008
Сообщений: 20
19.10.2008, 13:54
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
#include <iostream>
#include <math.h>
 
using namespace std;
 
double ddd(double a, double b, double c){
    return ((acos(((a*a)+(b*b)-(c*c))/(2.*a*b)))*180)/M_PI;
}
 
int main(){
    double V_Null = 0.00001;
    double a, b, c, k1, k2, k3;
    cout << "Enter the side "a" of the triangle" << endl;
    cin >> a;
    cout << "Enter the side "b" of the triangle" << endl;
    cin >> b;
    cout << "Enter the side "c" of the triangle" << endl;
    cin >> c;
 
    if ((a+b<c) || (a+c<b) || (b+c<a))
       cout << "Triangle with this sides dont exist" << endl;
    else{
        k1 = ddd(a, b, c);
        k2 = ddd(a, c, b);
        k3 = ddd(b, c, a);
        cout << "The angle between the sides "a" and "b" - " << k1 << endl;
        cout << "The angle between the sides "a" and "c" - " << k2 << endl;
        cout << "The angle between the sides "c" and "b" - " << k3 << endl;
    }
    cout << endl;
 
    if((k1-90<V_Null && k1-90> -V_Null) || (k2-90<V_Null && k2-90> -V_Null) || (k3-90<V_Null && k3-90> -V_Null))
        cout<<"vash triugolnik priamougolnyj"<<endl;
    if(k1<90 && k2<90 && k3<90)
        cout<<"vash triugolnik ostrougolnyj"<<endl;
    if(k1>90 || k2>90 || k3>90)
        cout<<"Vash triugolnik tupougolnyj"<<endl;
 
    system("pause");
    return 0;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.10.2008, 13:54
Помогаю со студенческими работами здесь

Найти углы треугольника, если даны 3 стороны
Всем доброго вечера, надо написать программу которая будет находить все углы треугольника если даны 3 стороны. Знаю что ...

Найти углы треугольника с заданными на плоскости координатами
Составить программу вычисления величин: Углы треугольника с вершинами A(0;1.7), B(2;1.7), C(1.5;0,85) Пожалуйста если не трудно...

Найти (в радианах в градусах) все углы треугольника со сторонами а, Ь, с
вот сами задания: 21. Найти (в радианах в градусах) все углы треугольника со сторонами а, Ь, с. ЭТО ЗАДАЧКИ В С++

Найти (в радианах и в градусах) все углы треугольника со сторонами a,b и c
1.Найти (в радианах и в градусах) все углы треугольника со сторонами a,b и c.

Найти углы треугольника если заданы координаты вершин
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; int main() { setlocale(LC_ALL, &quot;Russian&quot;); double x1, x2,...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru