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

Треугольник - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ построение графика функции http://www.cyberforum.ru/cpp-beginners/thread883983.html
помогите розобрать что не так #include <math.h> #include<stdlib.h> #include<stdio.h> #include<conio.h> #include<iostream.h> #include<graphics.h> float f(float x);
C++ класс в файле можно ли написать код класса в файл? если да можете показать примеры. в моей программе надо создать файл и там написать сведение о студентах ))) заранее спасибо http://www.cyberforum.ru/cpp-beginners/thread883982.html
Найти длину пути между двумя самыми удаленными городами C++
Имеется n городов пронумерованных от 1 до n и m соединяющих дорог. Расстояния между любыми двумя городами равны 1. Найти длину пути между двумя самыми удаленными городами.
C++ 5.2 Реализовать представление очереди. Работу со структурами организовать в виде текстового меню
Реализовать представление очереди. Работу со структурами организовать в виде текстового меню.
C++ Вычислить z = ab + cb, используя рекурсивную функцию http://www.cyberforum.ru/cpp-beginners/thread883952.html
Ввести с клавиатуры любое целое число "b" и действительные числа "a" и "с". вычислить z = ab + cb, используя рекурсивную функцию: x^n = 1, если n = 0; x^n = 1 / (x(-n)), если n <0; x^n = x ⋅ (x^(n-1)), если n> 0. n - это степень
C++ 5.1. Реализовать представление стека. Работу со структурами организовать в виде текстового меню #include <stdio.h> #include <stdlib.h> typedef struct Item* pItem; struct Item { int data; pItem next; }; подробнее

Показать сообщение отдельно
ds102061
2 / 2 / 2
Регистрация: 13.10.2010
Сообщений: 144
29.05.2013, 20:42  [ТС]     Треугольник
математически я поняла как делается все, а как реализовать программно, для меня проблемно

Добавлено через 36 минут
добавила перемещение, только не получается ничего
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
#include "stdafx.h"
#include <iostream>
#include <cmath>
#include <conio.h>
 
using namespace std;
const double Pi=3.14159265359;
 
class Triangle
{private:
    double x1, y1, x2, y2, x3, y3;
    double xx, yy;
public:
    Triangle();
    explicit Triangle( double, double, double, double, double, double );
    ~Triangle() {}
    double square() const;
    double perimeter() const;
    double mediana() const;
    double alfa() const;
    double betta() const;
    double gamma() const;
    double per();
    static double length ( double, double, double, double );
    friend std::ostream& operator << ( std::ostream&, const Triangle& );
 
};
 
Triangle::Triangle()
{
    cout<<"Введите координаты вершин треугольника:"<<endl;
    cout<<"x1: "; cin>>x1;
    cout<<"y1: "; cin>>y1;
    cout<<"x2: "; cin>>x2;
    cout<<"y2: "; cin>>y2;
    cout<<"x3: "; cin>>x3;
    cout<<"y3: "; cin>>y3;
}
 
Triangle::Triangle( double _x1, double _y1, double _x2, double _y2, double _x3, double _y3 )
{
    x1 = _x1;
    y1 = _y1;
    x2 = _x2;
    y2 = _y2;
    x3 = _x3;
    y3 = _y3;
}
 
double Triangle::length( double x1, double y1, double x2, double y2 )
{
    return sqrt( (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2) );
}
 
double Triangle::perimeter() const 
{
    return length(x1, y1, x2, y2) + length(x1, y1, x3, y3) + length(x2, y2, x3, y3);
}
 
double Triangle::square() const
{
    return fabs( x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2) ) / 2.;
}
double Triangle::mediana() const
{
    return sqrt( 2*(length(x2,y2, x3, y3)*length(x2,y2, x3, y3)) +2*(length(x1, y1, x3, y3)*length(x1, y1, x3, y3))-(length(x1, y1, x2, y2)*length(x1, y1, x2, y2)))/2.;
}
 
double Triangle::alfa() const
{
    return (180/Pi)*acos((length(x2,y2, x3, y3)*length(x2,y2, x3, y3)+length(x1, y1, x3, y3)*length(x1, y1, x3, y3)-length(x1, y1, x2, y2)*length(x1, y1, x2, y2))/(2*length(x2,y2, x3, y3)*length(x1, y1, x3, y3)));
}
double Triangle::betta() const
{
    return (180/Pi)*acos((length(x1, y1, x2, y2)*length(x1, y1, x2, y2)+length(x1, y1, x3, y3)*length(x1, y1, x3, y3)-length(x2,y2, x3, y3)*length(x2,y2, x3, y3))/(2*length(x2,y2, x1, y1)*length(x1, y1, x3, y3)));
}
double Triangle::gamma() const
{
    return (180/Pi)*acos((length(x1, y1, x2, y2)*length(x1, y1, x2, y2)+length(x2, y2, x3, y3)*length(x2, y2, x3, y3)-length(x1,y1, x3, y3)*length(x1,y1, x3, y3))/(2*length(x2,y2, x1, y1)*length(x2, y2, x3, y3)));
}
double Triangle::per() 
{
    cout<<"На сколько переместить треугольник?"<<endl;
    cout<<"По оси Х"; cin>>xx;
    cout<<"По оси У"; cin>>yy;
    x1=x1+xx; x2=x2+xx; x3=x3+xx;
    y1=y1+yy; y2=y2+yy; y3=y3+yy;
    return 1;
}
std::ostream& operator << ( std::ostream& stream, const Triangle& t )
{
    stream << '(' << t.x1 << ';' << t.y1 << "), "
           << '(' << t.x2 << ';' << t.y2 << "), "
           << '(' << t.x3 << ';' << t.y3 << ')' ;
    
    return stream;
}
int main()
{   setlocale(0, "");
    Triangle t;
    cout << "Координаты вершин треугольника: " << t << endl;
    cout << "Площадь: " << t.square() << endl;
    cout << "Периметр: " << t.perimeter() << endl;
    cout << "Медиана: " << t.mediana() << endl;
    cout << "Угол альфа: " << t.alfa() << endl;
    cout << "Угол бетта: " << t.betta() << endl;
    cout << "Угол гамма: " << t.gamma() << endl;
    _getch();
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru