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

Действия с объектами класса "Volume"

18.03.2018, 10:43. Показов 3769. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
1. Создайте класс Volume, предназначенный для хранения двух чисел r и h типа float. Класс имеет метод mult для вычисления произведения чисел. Объект класса можно рассматривать как контейнер для хранения величины радиуса и высоты цилиндра.
2. Создайте одномерный вектор из десяти элементов типа Volume. Заполните его объектами со случайными значениями x и y.
3. Удалите из вектора элементы у которых r или h равны нулю.
4. Отсортируйте вектор по возрастанию произведения π*r2*h.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.03.2018, 10:43
Ответы с готовыми решениями:

Действия со всеми объектами класса
Есть два класса с рядом данных и методов. Через конструктор одного программа создает кучу объектов....

Действия с объектами
У меня объекты класса выполняют одну и туже функцию, как можно сделать все это циклом (если...

Действия с динамически созданными объектами
Доброго времени суток. Помогите решить проблему. На форме есть кнопка, по нажатию которой создается...

Действия с выделенными объектами. Их передвижение
Здравствуйте. Есть такая проблемка - на сцене есть несколько объектов, и есть у каждой вот такой...

4
7 / 7 / 14
Регистрация: 18.10.2016
Сообщений: 46
18.03.2018, 13:57 2
с сортировкой не вышло
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
#include <iostream>
#include <vector>
#include <ctime>
using namespace std;
 
class Volume
{
public:
    Volume() = default;
    Volume(const float _r = 0, const float _h = 0) : r(_r), h(_h) {}
    int mult() const
    {
        return r * h;
    }
    float get_r() const
    {
        return r;
    }
    float get_h() const
    {
        return h;
    }
    void show() const
    {
        cout << "r = " << r << ' ' << "h = " << h << endl;
    }
private:
    float r{};
    float h{};
};
 
int main()
{
    srand(time(0));
    vector<Volume> obj;
    obj.reserve(10);
    for (int i{}; i < obj.capacity(); ++i)
    {
        Volume o(rand(), rand());
        obj.push_back(o);
    }
    for (int i{}; i < obj.size(); ++i)
    {
        Volume o(obj[i]);
        if (o.get_h() == 0 && o.get_r() == 0)
        {
            obj.erase(obj.begin()+i);
            --i;
        }
    }
    return 0;
}
0
0 / 0 / 0
Регистрация: 26.11.2017
Сообщений: 24
18.03.2018, 14:10  [ТС] 3
у меня в строке 9 пишет " non-virtual functiont ", а в строках 28,29,37,42 в фигурных скобках пишет " declareation missing ; "
0
7 / 7 / 14
Регистрация: 18.10.2016
Сообщений: 46
18.03.2018, 14:26 4
Цитата Сообщение от informatik 3000 Посмотреть сообщение
у меня в строке 9 пишет " non-virtual functiont ", а в строках 28,29,37,42 в фигурных скобках пишет " declareation missing ; "
компилятор из 2007. сейчас должно заработать без проблем:
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
#include <iostream>
#include <vector>
#include <ctime>
using namespace std;
 
class Volume
{
public:
    Volume() : r(0), h(0) {}
    Volume(const float _r = 0, const float _h = 0) : r(_r), h(_h) {}
    int mult() const
    {
        return r * h;
    }
    float get_r() const
    {
        return r;
    }
    float get_h() const
    {
        return h;
    }
    void show() const
    {
        cout << "r = " << r << ' ' << "h = " << h << endl;
    }
private:
    float r;
    float h;
};
 
int main()
{
    srand(time(0));
    vector<Volume> obj;
    obj.reserve(10);
    for (int i = 0; i < obj.capacity(); ++i)
    {
        Volume o(rand(), rand());
        obj.push_back(o);
    }
    for (int i = 0; i < obj.size(); ++i)
    {
        Volume o(obj[i]);
        if (o.get_h() == 0 && o.get_r() == 0)
        {
            obj.erase(obj.begin() + i);
            --i;
        }
    }
    return 0;
}
0
474 / 426 / 290
Регистрация: 10.03.2015
Сообщений: 1,782
18.03.2018, 14:34 5
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
#define _USE_MATH_DEFINES
#include "iostream"
#include <vector>
#include "cmath"
#include "algorithm"
 
using namespace std;
 
class Volume
{
private:
    float r;
    float h;
public:
    Volume();
    Volume(float x, float y);
    void SetValues(float x, float y);
    float GetR();
    float GetH();
    float mute();
};
 
struct VolumeCmp {
    bool operator()(Volume& first, Volume& second) const {
        return (M_PI * pow(first.GetR(), 2) * first.GetH()) < (M_PI * pow(second.GetR(), 2) * second.GetH());
    }
};
 
Volume::Volume()
{
    r = 0.0;
    h = 0.0;
}
 
Volume::Volume(float x, float y)
{
    r = x;
    h = y;
}
 
void Volume::SetValues(float x, float y)
{
    r = x;
    h = y;
}
 
float Volume::mute()
{
    return r*h;
}
 
float Volume::GetR()
{
    return r;
}
 
float Volume::GetH()
{
    return h;
}
 
int main(int argc, char* argv[])
{
    vector<Volume> vals;
    for (int i=0; i<5; i++)
    {
        float x, y;
        cout << "Enter x: ";
        cin >> x;
        cout << "Enter y: ";
        cin >> y;
        if (x*y != 0)
        {
            Volume temp(x, y);
            vals.push_back(temp);
        }
    }
    
    for (int i=0; i<vals.size(); i++)
    {
        cout << vals[i].GetR() << " " << vals[i].GetH() << endl;
    }
    sort(vals.begin(), vals.end(), VolumeCmp());
    
    cout << "\nSort:\n";
    for (int i = 0; i<vals.size(); i++)
    {
        cout << vals[i].GetR() << " " << vals[i].GetH() << endl;
    }
}
0
18.03.2018, 14:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.03.2018, 14:34
Помогаю со студенческими работами здесь

Как из другого класса управлять объектами класса Form1 ?
Добрый вечер, подскажите, пожалуйста. Создал форму Form1, создал отдельный класс (подписчик на одно...

Оптимизация работы метода класса с объектами класса [C++]
Здравствуйте! Я хочу сделать 25 000 объектов класса, в последствии они все будут разными, но...

Разработать класс с объектами которого можно было бы выполнить указанные действия
Разработайте некоторый класс A, с объектами которого можно было бы выполнить следующие действия: ...

Трудности с объектами класса
Доброго времени суток. В общем проблема у меня такая: Я создаю объект класса Int_Data и с...

Взаимодействие с объектами класса
Здравствуйте. Подскажите, пожалуйста, 1) как обратиться к объекту класса, созданному в виде new...

Работа с объектами внутри класса.
Вот два класса подскажите что здесь не так. Функция sh класса Engine должна вызвать функцию...

Столкновение с неизвестными объектами класса
Есть три класса: A, B, C Указатели на объект B хранятся в векторе vec_b в каждом объекте класса А...


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

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

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