0 / 0 / 0
Регистрация: 17.09.2012
Сообщений: 14
1

На вход подается некоторое количество кубов

05.10.2012, 10:30. Показов 1309. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
доброго времени суток )помогите пожалуйста люди добрые.спасибо за ранее ))) На вход подается некоторое количество кубов (координаты вершин). Отсортировать и вывести их по возрастанию объемов.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.10.2012, 10:30
Ответы с готовыми решениями:

На вход подается некоторое количество точек в пространстве R3
Ребята, кому не сложно, помогите пожалуйста. Необходимо переписать задачу с С++ на Qt. На вход...

На вход подается некоторое количество треугольников (координаты вершин). Отсортировать и вывести их по возрастанию площадей
доброго времени суто,вы не могли бы мне помочь,очень нужно. Спасибо за ранее ) На вход подается...

На вход посимвольно подается последовательность 0 и 1, необходимо подсчитать количество 0 и 1 и вывести на экран
Доброго времени суток. Имеется код на С++ int _tmain(int argc, _TCHAR* argv) { int z; int...

На вход подается URL. Вывести на экран атрибуты
Всем здравствуйте! Запутался в итерациях, просьба разъяснить. Задача: на вход подается ссылка,...

1
873 / 771 / 173
Регистрация: 11.01.2012
Сообщений: 1,942
06.10.2012, 10:22 2
Лучший ответ Сообщение было отмечено helllpme как решение

Решение

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
#include <cmath>
#include <iostream>
#include <algorithm>
#include <vector>
#include <iomanip>
 
struct Point
{
    Point();
    Point (double x_, double y_, double z_);
    double x, y, z;
};
Point::Point ()
        : x(0.0), y(0.0), z(0.0)
    {}
 
Point::Point (double x_, double y_, double z_)
        : x(x_), y(y_), z(z_)
    {}
 
class Cube 
{
  public: 
 
      Cube();
      Cube(Point *A_ ,Point *B_);
      Cube( const Cube & cube);
      ~Cube();
     
    public:
        const  Cube &operator =( const Cube & cube);
        bool operator < ( const Cube &cube) const;
        friend std::ostream & operator<<( std::ostream &is,const Cube &cube);
 
    private:
        long double volume;
        Point *A ;
        Point *B;
        
};
 
 Cube::Cube()
     : A(new Point()), B(new Point()), volume(0.0)
    {
 
    }
 
 Cube::Cube(Point *A_ ,Point *B_) :A(A_), B(B_)
        {
            
           double side = sqrt (( B->x - A->x )*( B->x - A->x ) 
                             + ( B->y - A->y )*( B->y - A->y) 
                             + ( B->z - A->z )*( B->z - A->z ));
 
           volume = pow (side, 3);
        }
 
  Cube::~Cube()
  { 
      delete A;
      delete B;
  }
 
 const  Cube &Cube::operator =( const Cube & cube)
  {
      if (this != &cube)
         {
             *this->A = *cube.A;
             *this->B = *cube.B;
             this->volume = cube.volume;
      }
          return *this;
  }
 
    Cube::Cube( const Cube & cube)
  {
      if (this != &cube)
         {
             *this->A = *cube.A;
             *this->B = *cube.B;
             this->volume = cube.volume;
      }
  }
 
bool Cube::operator < ( const Cube &cube) const
 {
     return this->volume < cube.volume;
 }
 
 std::ostream & operator <<( std::ostream & os,const Cube &cube)
    {
        os /*<< std::setprecision(2)*/ << cube.volume;
        return os;
    }
 
 void show (const Cube* obj) 
 {
       std::cout << *obj << std::endl;
 }
 
 
 bool funcompare( const Cube* lhs, const Cube* rhs)
 {
    return *lhs < *rhs;
 }
 
  void fundelete( const Cube* obj)
 {
    delete obj;
 }
 
 
int main()
{
    setlocale(LC_CTYPE,"Russian");
    std::vector<Cube*> cubes;
    size_t quan = 0;
    double Ax = 0, Ay = 0, Az = 0;
    double Bx = 0, By = 0, Bz = 0;
    std::cout << "Введите количество кубов :  ";
    std::cin>> quan;
 
    cubes.reserve(quan);
 
    for (int i = 0; i < quan; i++)
    {
        std::cout << "Введите координаты первой точки " << (i + 1) << " куба\n";
        std::cin >> Ax >> Ay >>Az;
        std::cout << "введите координаты второй точки\n";
        std::cin >> Bx >> By >> Bz;
        cubes.push_back(new Cube(new Point(Ax, Ay, Ax), new Point(Bx, By, Bz)));
    }
 
 
    std::sort( cubes.begin(), cubes.end(), funcompare);
    std::cout << "Кубы по возрастанию, вывод объемов :\n";
    std::for_each( cubes.begin(), cubes.end(), show);
    std::for_each( cubes.begin(), cubes.end(), fundelete);
 
  return 0;
}
0
06.10.2012, 10:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.10.2012, 10:22
Помогаю со студенческими работами здесь

На вход программе подается набор символов, заканчивающийся символом 0
На вход программе подается набор символов, заканчивающийся символом 0 (в программе на языке Бейсик...

На вход программы подается 366 строк, которые содержат информацию
На вход программы подается 366 строк, которые содержат информацию о среднесуточной температуре всех...

Напишите программу, на вход которой подается одна строка с целыми числами
Напишите программу, на вход которой подается одна строка с целыми числами. Программа должна вывести...

Trunc() и Abs() (На вход программе подается вещественное число Х. Получить и вывести на экран целое значение Z)
На вход программе подается вещественное число Х. Получить и вывести на экран целое значение Z: Z =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru