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

Площадь треугольника - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ По заданным координатам определить, где находится точка. http://www.cyberforum.ru/cpp-beginners/thread424478.html
Т.к. я полный 0 в С++, прошу помощи у профи) Завтра зачет. По заданным координатам точки определить, где находится точка: 1) внутри заштрихованной области; 2) вне заштрихованной области; 3) на границе этой области. Называйте темы более осмысленно.
C++ Написание функции для for_each Хочу распечатать список list через свою функцию используя for_each, но я не могу понять как заставить эту for_each работать с моей фукнкцией, которая принимает на один аргумент, а два. Пример теоретический, естественно здесь можно список list более изящно распечатать, но интересует именно написание функции для for_each с двумя аргументами. #include <iostream> #include <string> #include... http://www.cyberforum.ru/cpp-beginners/thread424470.html
Вычислить сумму положительных элементов каждого столбца матрицы. C++
Т.к. я полный 0 в С++, прошу помощи с лабораторной работой. Завтра зачет. Вычислить сумму положительных элементов каждого столбца матрицы А(mn).
C++ Функции. Динамические массивы и структуры
Сформировать одномерный динамический массив порядка N, элементы которого имеют указанную ниже структуру, и организовать обработку его данных. Примечание: для связанных данных (например, фамилия, имя, отчество или день, месяц, год и др.). Формировать отдельную единицу структурного типа. Программа должна содержать раздельные функции осуществляющие ввод, вывод и реализацию задачи. Структура...
C++ Найти количество отрицательных чисел, количество нулевых и подсчитать сумму положительных чисел http://www.cyberforum.ru/cpp-beginners/thread424452.html
Т.к. я полный 0 в этом, вынужден обратиться к профи) надеюсь на вашу помощь. 1. Произвести следующую обработку 15 целых чисел: найти количество отрицательных чисел, количество нулевых и подсчитать сумму положительных чисел. 2. Вычислить сумму положительных элементов каждого столбца матрицы А(mn). И, если не трудно, доюавьте в скайп меня. Есть парочка вопросов. Скайп: <вырезано> ...
C++ Сравнение строк Сравнение строк по символам ( поиск совпадающих по индексу) // не пойму как присвоить строкам значения, и как сравнить отдельно по индексам, через цикл for ? FILE * fp; char x; fp = fopen ( "C:\\temp\\new\\file.txt" , "r+" ); fgets (x , 81 , fp) ; fgets (x , 81 , fp) ; подробнее

Показать сообщение отдельно
OlegLvovskyj
9 / 9 / 2
Регистрация: 02.12.2010
Сообщений: 66
08.01.2012, 18:09     Площадь треугольника
Колись робив похоже завдаяння.вона рахує ше периметр.

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
158
159
160
//main.cpp
#include <stdio.h>
#include <math.h>
#include <conio.h>
#include "Triangle.h"
int main()
{
    int 
        Ax, Ay, Bx, By, Cx, Cy;
    printf ("Введіть Ax.. ");   scanf ("%i", &Ax); // 
    printf ("Введіть Ay.. ");   scanf ("%i", &Ay); // ввід
    printf ("Введіть Bx.. ");   scanf ("%i", &Bx); // вхідних
    printf ("Введіть By.. ");   scanf ("%i", &By); // даних
    printf ("Введіть Cx.. ");   scanf ("%i", &Cx); // 
    printf ("Введіть Cy.. ");   scanf ("%i", &Cy); //
    
    Triangle tri1;
    tri1.PutAx(Ax); tri1.PutAy(Ay); // 
    tri1.PutBx(Bx); tri1.PutBy(By); // Вхідні дані в tri1
    tri1.PutCx(Cx); tri1.PutCy(Cy); //
    printf ("\n\nПериметр = %Lf", tri1.Perimeter());    //Вивід периметра
    printf ("\nПлоща = %Lf", tri1.Area());  //Вивід площі
    if (tri1.Perevirka() == 1)  //Вивід перевірки на прямокутність
        printf ("\nТрикутник прямокутний");
    else
        printf ("\nТрикутник не прямокутний ");
    getch();
    return 0;
}
 
 
 
 
//Triangle.h
class Triangle
{
private:
    int Ax; int Ay;
    int Bx; int By;
    int Cx; int Cy;
public:
    Triangle(int Ax = 1, int Ay = 1, int Bx = 1, int By = 1, int Cx = 1, int Cy = 1); // Конструктор по замовчуванню
    Triangle(const Triangle & tri); // конструктор копіювання
    virtual ~Triangle();// деструктор
 
    int GetAx();    int GetAy();
    int GetBx();    int GetBy();
    int GetCx();    int GetCy();
    void  PutAx(int);   void  PutAy(int);
    void  PutBx(int);   void  PutBy(int);
    void  PutCx(int);   void  PutCy(int);
 
    double Perimeter();
    double Area();
    int Perevirka();    
};
 
 
 
// Triangle.cpp
#include "Triangle.h"
#include <math.h>
Triangle::Triangle(int Ax, int Ay, int Bx, int By, int Cx, int Cy)
{
    Ax = Ax;    Ay = Ay;
    Bx = Bx;    By = By;
    Cx = Cx;    Cy = Cy;
}
Triangle::Triangle(const Triangle & tri)
{
    *this = tri;
}
Triangle::~Triangle()
{
}
int Triangle::GetAx()
{
    return Ax;
}
int Triangle::GetAy()
{
    return Ay;
}
int Triangle::GetBx()
{
    return Bx;
}
int Triangle::GetBy()
{
    return By;
}
int Triangle::GetCx()
{
    return Cx;
}
int Triangle::GetCy(){
    return Cy;
}
void  Triangle::PutAx(int a)
{
    Ax = a;
}
void  Triangle::PutAy(int a)
{
    Ay = a;
}
void  Triangle::PutBx(int a)
{
    Bx = a;
}
void  Triangle::PutBy(int a)
{
    By = a;
}
void  Triangle::PutCx(int a)
{
    Cx = a;
}
void  Triangle::PutCy(int a)
{
    Cy = a;
}
double Triangle::Perimeter()
{
    return sqrt((double)((Bx-Ax)*(Bx-Ax)+(By-Ay)*(By-Ay)))+sqrt((double)((Cx-Ax)*(Cx-Ax)+(Cy-Ay)*(Cy-Ay)))+sqrt((double)((Bx-Cx)*(Bx-Cx)+(By-Cy)*(By-Cy))); //Обчислення периметру
}
double Triangle::Area()
{
    double
        a,b,c;
    a = sqrt((double)((Bx-Ax)*(Bx-Ax)+(By-Ay)*(By-Ay)));
    b = sqrt((double)((Cx-Ax)*(Cx-Ax)+(Cy-Ay)*(Cy-Ay)));
    c = sqrt((double)((Bx-Cx)*(Bx-Cx)+(By-Cy)*(By-Cy)));
    return sqrt((double)((a+b+c)/2*((a+b+c)/2-a)*((a+b+c)/2-b)*((a+b+c)/2-c)));     //Обчислення площі
}
int Triangle::Perevirka()   //Перевірка на прямокутність
{
    double gip;
    gip = sqrt((double)((Bx-Ax)*(Bx-Ax)+(By-Ay)*(By-Ay)));
    if (sqrt((double)((Cx-Ax)*(Cx-Ax)+(Cy-Ay)*(Cy-Ay))) > gip)
        gip = sqrt((double)((Cx-Ax)*(Cx-Ax)+(Cy-Ay)*(Cy-Ay)));
    if (sqrt((double)((Bx-Cx)*(Bx-Cx)+(By-Cy)*(By-Cy))) > gip)
        gip = sqrt((double)((Bx-Cx)*(Bx-Cx)+(By-Cy)*(By-Cy)));
 
    if (sqrt((double)((Bx-Ax)*(Bx-Ax)+(By-Ay)*(By-Ay))) == gip)
        if (gip*gip == (Cx-Ax)*(Cx-Ax)+(Cy-Ay)*(Cy-Ay) + (Bx-Cx)*(Bx-Cx)+(By-Cy)*(By-Cy))
            return 1;
        else
            return 0;
    if (sqrt((double)((Cx-Ax)*(Cx-Ax)+(Cy-Ay)*(Cy-Ay))) == gip)
        if (gip*gip == (Bx-Ax)*(Bx-Ax)+(By-Ay)*(By-Ay) + (Bx-Cx)*(Bx-Cx)+(By-Cy)*(By-Cy))
            return 1;
        else
            return 0;
    if (sqrt((double)((Bx-Cx)*(Bx-Cx)+(By-Cy)*(By-Cy))) == gip)
        if (gip*gip == (Bx-Ax)*(Bx-Ax)+(By-Ay)*(By-Ay) + (Cx-Ax)*(Cx-Ax)+(Cy-Ay)*(Cy-Ay))
            return 1;
        else
            return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru