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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Задача про матрицу и и список с 2мя связями http://www.cyberforum.ru/cpp-beginners/thread673629.html
Дело вот в чем, надо было реализовать следующую задачу. Разреженная матрица целых чисел представлена в виде виде упорядоченного (сначала по первому индексу, а затем по второму) списка (с двумя связями) триплетов. Найти минимальный по модулю элемент каждого столбца. Результат получить в виде вектора размером n. #include <cstdlib> #include <iostream> #include <math.h> using namespace std; ...
C++ когда должен вызываться конструктор? Возможно я делаю что-то не так, но конструктор родительского класса вызывается лишний раз. код: #include <iostream> #include <sstream> using namespace std; class MyException { http://www.cyberforum.ru/cpp-beginners/thread673620.html
Как нарисовать звездочки по диагонали на языке C++ C++
Помогите
C++ Книга для начинающего по С++
Скажите, какая книга доступно мне покажет программирование на С++??? вопрос от новичка, даже не могу ничего посоветовать... Может вы подскажите книгу, которая быстро "прокачает" по программированию по С++?
C++ Программа на указатели http://www.cyberforum.ru/cpp-beginners/thread673599.html
Есть вот такая программа. Как переделать ее на указатели? Напишите пожалуйста код, буду очень благодарен) #include <iostream> #include <locale.h> #include <conio.h> using namespace std; float sum(float,float); int main() {
C++ написать выражение Люди начал изучать С.Пытался сделать сам , но ничего не получается. Пожалуйста помогите! или покажите как правильно все прописать. z1=2sin2(3π-2*a)cos2(5π+2*a) z2=1/4-1/4sin(5/2п-8a) a-от -2 до 2 Спасибо! подробнее

Показать сообщение отдельно
Skillet102
1 / 1 / 0
Регистрация: 17.10.2012
Сообщений: 88
17.10.2012, 21:05     прога для определения типа треугольника работает почему-то неверно
прога для определения типа треугольника
работает почему-то неверно
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
// laba2.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include"math.h"
#include<iostream>
#define _USE_MATH_DEFINES
# define M_PI 3.14159265358979323846
int main()
{
    double x1,x2,x3,y1,y2,y3,a1,b1,c1,a,b,c,r1,r2,r3,r4,r5;
    double bp,bp1,bp2,br,bi,bi1,bi2,L,L1,L2,L3,L4,L5,p;
    setlocale(LC_ALL, "Russian");
    while(1)
{
    printf("\nВведите координаты треугольника:\n");
    printf("\nВведите x1:");
    scanf_s("%f",& x1);
    printf("\nВведите y1:");
    scanf_s("%f",& y1);
    printf("\nВведите x2:");
    scanf_s("%f", & x2);
    printf("\nВведите y2:");
    scanf_s("%f",& y2);
    printf("\nВведите x3:");
    scanf_s("%f",& x3);
    printf("\nВведите y3:");
    scanf_s("%f",& y3);
    a=sqrt(pow((x3-x2),2)+pow((y3-y2),2));
    b=sqrt(pow((x2-x1),2)+pow((y2-y1),2));
    c=sqrt(pow((x3-x1),2)+pow((y3-y1),2));
    a1=((acos((pow(b,2)+pow(c,2)-pow(a,2))/(2*b*c)))*(180/M_PI));
    b1=((acos((pow(a,2)+pow(c,2)-pow(b,2))/(2*a*c)))*(180/M_PI));
    c1=((acos((pow(a,2)+pow(b,2)-pow(c,2))/(2*a*b)))*(180/M_PI));
    printf("%f %f %f\n%f %f %f",a1,b1,c1,a,b,c);
if((((a==0)&&(c==0))||((a==0)&&(b==0)))||((b==0)&&(c==0))||(((a1==180)||(b1==180)||(c1==180)))||((a1==0)||(b1==0)||(c1==0)))//условие проверки на прямую и точку
{
    printf("\nКоординаты заданы не верно!\n");
}
else
    {
if(((a=b=c)&&(c!=0)&&((a1<90)&&(b1<90)&&(c1<90))))
    {
        r1=((pow(3,1.0/2)/6))*a;
        br=((pow(3,1.0/2))/2)*a;
        printf("\nТреугольник:\nравносторонний\nТреугольник:\nостроугольный\n");
        printf("\n   Длины сторон:\n\n а=%f,\n б=%f,\n с=%f",a,b,c);
        printf("\n   Радиус вписанного угла:\n   радиус=%f",r1);
        printf("\n   Длины биссектрис:");
        printf("\n   Длина биссектрисы, делящей угол между сторонами a и b=%f",br);
        printf("\n   Длина биссектрисы, делящей угол между сторонами b и c=%f",br);
        printf("\n   Длина биссектрисы, делящей угол между сторонами a и c=%f",br);
    }
else
    {
if((a==b)||(a==c)||(b==c))
        {
            p=(a+b+c)/2;
            r3=(sqrt((p-a)*(p-b)*(p-c))/p);
            bi=sqrt(pow(a,2)-(pow(b,2)/4));
            bi1=sqrt(pow(a,2)-(pow(b,2)/6));
            bi2=sqrt(pow(a,2)-(pow(b,2)/8));
            printf("\nТреугольник:\nравнобедренный\n");
            if(((a1==90)||(b1==90)||(c1==90))&&((a*a+b*b==c*c)||(a*a+c*c==b*b)||(c*c+b*b==a*a))||((a1>89)||(b1>89)||(c1>89)))
                {
                    printf("\nТреугольник:\nпрямоугольный\n");
                }
            if((a1<89)&&(b1<89)&&(c1<89))
                {
                    printf("\nТреугольник:\nостроугольный\n");
                }
            printf("\n   Длины сторон:");
            printf("\n а=%f,\n б=%f,\n с=%f",a,b,c);
            printf("\n   Радиус вписанного угла:\n   радиус=%f",r3);
            printf("\n   Длины биссектрис:");
            printf("\n   Длина биссектрисы, делящей угол между сторонами a и b=%f",bi);
            printf("\n   Длина биссектрисы, делящей угол между сторонами b и c=%f",bi1);
            printf("\n   Длина биссектрисы, делящей угол между сторонами a и c=%f",bi2);
        }
else
        {   
if((a1<89)&&(b1<89)&&(c1<89))
    {
            p=(a+b+c)/2;
            r4=sqrt((p-a)*(p-a)*(p-a))/p;
            L3=(sqrt(a*b*(a+b+c)*(a+b-c)))/(a+b);
            L4=(sqrt(a*b*(a+b+c)*(a+b+c)))/(a+b);
            L5=(sqrt(a*b*(a+b+c)*(a+c-b)))/(a+b);
            printf("\nТреугольник:\nостроугольный\n");
                    if((a=b=c!=0))
                        {
                            printf("\nТреугольник:\nравносторонний\n");
                        }
                    if((a==b)||(a==c)||(b==c))
                        {
                            printf("\nТреугольник:\nравнобедренный\n");
                        }
                    printf("\n   Длины сторон:");
                    printf("\n а=%f,\n б=%f,\n с=%f",a,b,c);
                    printf("\n   Радиус вписанного угла:\n   радиус=%f",r4);
                    printf("\n   Длины биссектрис:\n");
                    printf("\n\tДлина биссектрисы, делящей угол между сторонами a и b=%f",L3);
                    printf("\n\tДлина биссектрисы, делящей угол между сторонами b и c=%f",L4);
                    printf("\n\tДлина биссектрисы, делящей угол между сторонами a и c=%f",L5);
    }
else
        {
if((a*a+b*b==c*c)||(a*a+c*c==b*b)||(c*c+b*b==a*a))
            {
                bp=sqrt(a*b*(a+b+c)*(a+b-c))/(a+b);//находим длины биссектрис
                bp1=sqrt(b*c*(b+c+a)*(b+c-a))/(b+c);
                bp2=sqrt(a*c*(a+c+b)*(a+c-b))/(a+c);
                r2=(a+b-c)/2.0;
                printf("\nТреугольник:\nпрямоугольный\n");
                if((a==b)||(a==c)||(b==c))
                    {
                        printf("\nТреугольник:\nравнобедренный\n");
                    }
                printf("\n   Длины сторон:\n\n а=%f,\n б=%f,\n с=%f",a,b,c);
            printf("\n   Радиус вписанного угла:\n   радиус=%f",r2);
            printf("\n   Длины биссектрис:");
            printf("\n   Длина биссектрисы, делящей угол между сторонами a и b=%f",bp);
            printf("\n   Длина биссектрисы, делящей угол между сторонами b и c=%f",bp1);
            printf("\n   Длина биссектрисы, делящей угол между сторонами a и c=%f",bp2);
            }
else
        {
if(((a1>90)||(b1>90)||(c1>90)))
            {
                p=(a+b+c)/2;
            r5=sqrt((p-a)*(p-a)*(p-a))/p;
            L=(sqrt(a*b*(a+b+c)*(a+b-c)))/(a+b);
            L1=(sqrt(a*b*(a+b+c)*(a+b+c)))/(a+b);
            L2=(sqrt(a*b*(a+b+c)*(a+c-b)))/(a+b);
            printf("\nТреугольник:\nтупоугольный\n%f %f %f",a1,b1,c1);
                if((a==b)||(a==c)||(b==c))
                    {
                        printf("\nТреугольник:\nравнобедренный\n");
                    }
                printf("\n   Длины сторон:");
                    printf("\n а=%f,\n б=%f,\n с=%f",a,b,c);
                    printf("\n   Радиус вписанного угла:\n   радиус=%f",r5);
                    printf("\n   Длины биссектрис:");
                    printf("\n   Длина биссектрисы, делящей угол между сторонами a и b=%f",L);
                    printf("\n   Длина биссектрисы, делящей угол между сторонами b и c=%f",L1);
                    printf("\n   Длина биссектрисы, делящей угол между сторонами a и c=%f",L2);
                
            }
         }
      }
    }
  }
 }
}
 getchar();
 getchar();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru