Форум программистов, компьютерный форум, киберфорум
Наши страницы

Нахождения перимтров нескольких трапеций заданных по точкам - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написать программу,которая вычисляет среднее арифметическое http://www.cyberforum.ru/cpp-beginners/thread665807.html
Решить задачу двумя методами:используя цикл for и используя цикл whilе(либо do-whilе). Написать программу,которая вычисляет среднее арифметическое вводимой с клавиатуры последовательности дробных...
C++ Найти количество точек треугольника, принадлежащих осям координат Найдите количество точек треугольника с вершинами (x1, y1), (x2, y2), (x3, y3), принадлежащих осям координат. Ввод В первой строке содержатся вещественные числа x1, y1, x2, y2, x3, y3 – координаты... http://www.cyberforum.ru/cpp-beginners/thread665805.html
Написать программу,которая сравнивает два числа C++
Разработать программные модули для решения задачи,используя предложение if. Написать программу,которая сравнивает два введеных с клавиатуры числа. Программа должна указать,какое число больше,...
C++ Компилятор ругается на синтаксис
cout << "Введите значение длины в заданных единицах: m, cm, ft, in: " << '\n'; for (i=0;i<100;++i){ cin >> length >> len_unit; if (len_unit=="m") void(); if (len_unit=="cm") length*=0.01;...
C++ Табулирование функций http://www.cyberforum.ru/cpp-beginners/thread665796.html
ребят, срочно. Туплю по страшному. Я вообще на делфи пишу, но волей судьбы пришлось учить С++. Не пойму где ошибка ( Начинает выводить дикие значения и выкидывает "закрытие программы" Пишу в C::B...
C++ Определить двоичные числа из промежутка [a,b], сумма цифр которых - простое число Условие: Определить все двоичные числа, принадлежат промежутку , сумма цифр которых есть простые числа. вот то что я уже написал, цикл для нахождения сумы есть, а вот как определить простая ли ета... подробнее

Показать сообщение отдельно
MrGluck
Модератор
Эксперт CЭксперт С++
7491 / 4606 / 692
Регистрация: 29.11.2010
Сообщений: 12,590
19.11.2012, 20:32
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
#include <iostream>
#include <algorithm>
#include <iterator>
#include <vector>
 
class Trapeze
{
    public:
        Trapeze(){}
        Trapeze(double x1, double y1, double x2, double y2,
                double x3, double y3, double x4, double y4);
        friend bool operator< (const Trapeze &, const Trapeze &);
        friend std::ostream& operator<< (std::ostream &, const Trapeze &);
    private:
        double _x1, _y1, _x2, _y2, _x3, _y3, _x4, _y4, P;
};
 
int main()
{
    double x1, x2, x3, x4, y1, y2, y3, y4;
    std::vector<Trapeze> v;
    while(std::cin>> x1>> y1>> x2>> y2>> x3>> y3>> x4>> y4)
        v.push_back (Trapeze (x1, y1, x2, y2, x3, y3, x4, y4) );
    std::sort(v.begin(), v.end());
    std::copy(v.begin(), v.end(),
        std::ostream_iterator<Trapeze> (std::cout, "\n") );
    return 0;
}
 
Trapeze::Trapeze(double x1, double y1, double x2, double y2,
                 double x3, double y3, double x4, double y4): _x1(x1), _y1(y1),
                _x2(x2), _y2(y2), _x3(x3), _y3(y3), _x4(x4), _y4(y4)
{
    P = sqrt( (x2-x1)*(x2-x1) + (y2-y1)*(y2-y1) ) +
        sqrt( (x3-x2)*(x3-x2) + (y3-y2)*(y3-y2) ) +
        sqrt( (x4-x3)*(x4-x3) + (y4-y3)*(y4-y3) ) +
        sqrt( (x4-x1)*(x4-x1) + (y4-y1)*(y4-y1) );
}
 
bool operator< (const Trapeze &t1, const Trapeze &t2)
{
    return t1.P < t2.P;
}
 
std::ostream& operator<< (std::ostream &output, const Trapeze &t)
{
    output<< "A("<< t._x1<< ", "<< t._y1<< ")"<< std::endl
          << "B("<< t._x2<< ", "<< t._y2<< ")"<< std::endl
          << "C("<< t._x3<< ", "<< t._y3<< ")"<< std::endl
          << "D("<< t._x4<< ", "<< t._y4<< ")"<< std::endl
          << "P = "<< t.P<< std::endl;
    return output;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru