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

Маштаб треугольника - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Передача объектов функциям(объясните код программы) http://www.cyberforum.ru/cpp-beginners/thread1846088.html
Вот программа: #include <iostream> using namespace std; class samp { int i; public: samp(int n){i=n;} void set_i(int n){i=n;}
C++ Перегрузка операторов Расскажите можно ли как-то сделать перегрузку операторов не в классе, а в своём пространстве имён? http://www.cyberforum.ru/cpp-beginners/thread1846076.html
Форматированный вывод чисел? C++
в результате перемножения элементов матрицы С (скрин) выводится след. число (объявленное как double), как можно привести к какому-нибудь обычному виду, как на калькуляторе (на телефоне пересчитал = 191,102,976) ну, можно не все цифры прям, но без экспоненты вот этой вот. Добавлено через 6 минут http://i.imgur.com/ANiXaSB.png
Проверить признак делимости на 11 C++
Задача. Число делится на 11, если разность между суммой цифр, стоящих на нечетных местах, кратна 11. Проверить этот признак для всех натуральных чисел, значение которых не превосходит заданного m, и показать числа, кратные 11.
C++ Как правильно передать объект в функцию при использовании многопоточности http://www.cyberforum.ru/cpp-beginners/thread1846065.html
Добрый день, форум! Возникла вот такая задача: Есть два класса: класс А, реализующий интегрирование функции, и класс В, реализующий в себе функцию для интегрирования. Необходимо создать два объекта класса А, передать в них один и тот же объект класса В, но с разными начальными условиями, и используя многопоточность произвести расчеты. В чем собственно вопрос: Как, имея один объект класса...
C++ Найти все совершенные числа в заданном интервале Задача. Натуральное число называется совершенным, если оно равно сумме всех своих простых делителей, например 6 = 1 + 2 + 3. Найти все совершенные числа в заданном интервале. подробнее

Показать сообщение отдельно
Desking
0 / 0 / 0
Регистрация: 01.03.2016
Сообщений: 74
09.11.2016, 12:15     Маштаб треугольника
У меня создается треугольник(Triangle) на основе линий, а линии(Line) на основе точек(Point)
Код Point.h
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
//
// Created by User on 31.10.2016.
//
 
#ifndef PROST_POINT_H
#define PROST_POINT_H
 
 
class Point {
public:
    Point(int x, int y);
 
    void draw();
    void expand(int a);
 
 
    void move(int dx, int dy);
 
    int x() const;
 
    int y() const;
 
 
private:
    int _x;
    int _y;
 
};
 
 
#endif //UNTITLED23_POINT_H
Point.cpp
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
#include "Point.h"
#include <iostream>
 
using namespace std;
 
Point::Point(int x, int y) {
 
    _x = x;
    _y = y;
 
}
 
void Point::draw() {
    cout << "x=" << _x  << " ,y=" << _y << endl;
 
}
 
void Point::move(int dx, int dy) {
 
    _x *= dx;
    _y *= dy;
 
}
void Point::expand(int a){
   _x*=a;
    _y*a;
 
}
 
int Point::x() const {
    return _x;
}
 
int Point::y() const {
    return _y;
}
Line.h
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
#ifndef PROST_LINE_H
#define PROST_LINE_H
 
 
#include "Point.h"
 
class Line {
public:
    Line(Point *p1, Point *p2);
 
    void draw();
    void move(int dx, int dy);
    void expand(int a);
    double lenght();
    void printLenght();
 
    Point *p1(){return _p1;}
    Point *p2(){return _p2;}
 
 
 
private:
    Point *_p1;
    Point *_p2;
 
};
 
 
#endif //UNTITLED23_LINE_H
Line.cpp
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
//
// Created by User on 31.10.2016.
//
 
#include "Line.h"
 
#include <iostream>
#include <math.h>
 
using namespace std;
 
Line::Line(Point *p1, Point *p2) {
 
    _p1 = p1;
    _p2 = p2;
 
}
void Line::expand(int a){
    _p1->expand(a);
    _p2->expand(a);
 
}
void Line::draw() {
 
    _p1->draw();
    _p2->draw();
}
 
void Line::move(int dx, int dy) {
    _p1->move(dx, dy);
 
    _p2->move(dx, dy);
 
}
 
double Line::lenght() {
    double lenght;
    int x1 = _p1->x();
    int x2 = _p2->x();
    int y1 = _p1->y();
    int y2 = _p2->y();
   lenght = sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
 
    return lenght;
}
 
void Line::printLenght(){
    cout << "Lenght line= " << lenght() << endl;
}
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
Triangle.h//
// Created by User on 01.11.2016.
//
 
#ifndef PROST_TRIANGLE_H
#define PROST_TRIANGLE_H
 
 
#include <math.h>
#include "Line.h"
 
class Triangle {
public:
    Triangle(Line *line1, Line *line2);
    void expand(int a);
    double perimeter();
    double area();
    void printCalculated();
 
 
private:
    Line *_line1;
    Line *_line2;
    Line *_line3;
};
Triangle.cpp
#include <iostream>
#include "Triangle.h"
#include "Line.h"
#include "Point.h"
 
 
using namespace std;
 
Triangle::Triangle(Line *line1, Line *line2) {
    _line1 = line1;
    _line2 = line2;
    _line3 = new Line(_line1->p2(), _line2->p2());
 
}
void Triangle::expand(int a) {
 
    _line1->expand(a);
    _line2->expand(a);
 
 
 
 
}
double Triangle::perimeter() {
    cout<<_line1->lenght()<<endl;
    cout<<_line2->lenght()<<endl;
    cout<<_line3->lenght();
    return _line1->lenght() + _line2->lenght() + _line3->lenght();
}
 
double Triangle::area() {
 
}
 
void Triangle::printCalculated(){
    cout << "Perimeter = " <<perimeter() << endl;
    cout << "Area = " << area() << endl;
}
 
 
 
 
 
 
#endif //UNTITLED23_TRIANGLE_H
main.cpp
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
#include "Point.h"
#include "Line.h"
#include "Triangle.h"
 
 
 
int main() {
    Point p1(3, 0);
    Point p2(3, 3);
    Point p3(-1, 0);
 
 
    Line line1(&p1, &p2);
     line1.printLenght();
    Line line2(&p1, &p3);
 
 
    Triangle tr(&line1, &line2);
    tr.expand(2);
    tr.printCalculated();
    line1.printLenght();
 
 
    
 
    return 0;
}
У меня создана функция которая масштабирует треугольник, но она работает не правильно( Помогите пожалуйста
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 16:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru