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

ООП Классы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ установить временной интервал http://www.cyberforum.ru/cpp-beginners/thread201992.html
Здравствуйте. Подскажите пожалуйста как правильно установить временной интервал, я хочу сделать что то типа счетчика, код примерно такой: for(int i=0;i<=60;i++){ system("cls"); cout<<i; /*В этом месте надо организовать задержку по времени на 1-2 секуны*/ }
C++ Массив-пересечение Помогите, пожалуйста, с заданием: Дано два целочисленных массива, состоящих из не повторяющихся чисел. Сформировать новый массив, который содержит элементы, имеющиеся одновременно и в первом и во втором массивах (массив-пересечение). По сути, решение я уже нашел, но: 1. Не могу поставить генератор чисел для массива таким образом, чтобы он точно генерировал не повторяющиеся значения; 2.... http://www.cyberforum.ru/cpp-beginners/thread201974.html
3 задачи C++
Дали задание в академии, а у меня нет времени колупать его... может ктот уже делал это или знает как... Будьте добры выложите код. Вот перечень заданий: 1.Пользователь вводит с клавиатуры объем одного фильма в гигабайтах. Посчитать, сколько дискет понадобится Васе Ламерову для переноса фильма от друга к себе домой. 2.(схожие) Пользователь вводит с клавиатуры размер одного фильма в...
Битовые флаги. C++
Пожалуйста может объяснить "Пример хранения битовых флагов. Их считывание и установка." И что это такое вообще.
C++ Подстроки http://www.cyberforum.ru/cpp-beginners/thread201897.html
Дано предложение удалить из него все подстроки str1. Написать программу на СИ
C++ Функция. 1)Написать функцию, которая вычисляет объём и площадь поверхности параллелепипеда. Входными данными являются размеры рёбер параллелепипеда. 2)Написать функцию, вычисляющую векторное произведение двух векторов, представленных в виде массивов 3)Дана матрица порядка 2n. Написать функцию, получающую квадратную матрицу такого же порядка, переставляя блоки матрицы порядка n. подробнее

Показать сообщение отдельно
lemegeton
2918 / 1347 / 134
Регистрация: 29.11.2010
Сообщений: 2,721
02.12.2010, 16:46     ООП Классы
Наоборот, accessor - get, mutator - set.

Акцессоры и мутаторы это всего лишь методы класса, возвращающие или устанавливающие некие значения объекта.
Не уверен в правильности твоего решения задачи рюкзака, но копать некогда.

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
#include <iostream>
#include <vector>
#include <string>
#include <iomanip>
#include <sstream>
#include <limits>
#include <algorithm>
 
using namespace std;
 
class BackPackItem
{
private:
    string name;
    int cost;
    int mass;
public:
    BackPackItem(string name, int cost, int mass)
    {
        this->name = name;
        this->cost = cost;
        this->mass = mass;
    }
    string GetName() { return name; }
    string SetName(string new_name) { name = new_name; }
    int GetCost() { return cost; }
    int SetCost(int new_cost) { cost = new_cost; }
    int GetMass() { return mass; }
    int SetMass(int new_mass) { mass = new_mass; }
};
 
bool is_backpack_item_less_by_cost(BackPackItem &a, BackPackItem &b) { return a.GetCost() < b.GetCost(); }
 
class BackPack
{
private:
    vector<BackPackItem> backpack;
    vector<BackPackItem> item_list;
    int max_items;
    int max_mass;
    int massInBackPack;
    int costInBackPack;
public:
    int GetMaxItems() { return max_items; }
    void SetMaxItems(int new_max_items) { max_items = new_max_items; }
    int GetMaxMass() { return max_mass; }
    void SetMaxMass(int new_max_mass) { max_mass = new_max_mass; }
    int GetMassInBackPack() { return massInBackPack; };
    int GetCostInBackPack() { return costInBackPack; };
 
    BackPack(int max_items, int max_mass) 
    {
        this->max_items = max_items;
        this->max_mass=max_mass; 
    };
 
    void AddBackPackItem(const BackPackItem item)
    {
        item_list.push_back(item);
    };
 
    void Pack()
    {
        backpack.clear();
        sort(item_list.begin(), item_list.end(), is_backpack_item_less_by_cost);
        massInBackPack = 0;
        costInBackPack = 0;
        for (vector<BackPackItem>::iterator i=item_list.begin(); i!=item_list.end(); i++)
            if (massInBackPack + i->GetMass() <= max_mass)
            {
                massInBackPack += i->GetMass();
                costInBackPack += i->GetCost();
                backpack.push_back(*i);
            }
    }
 
    int BackPackCount() { return backpack.size(); }
    BackPackItem GetPackPackItem(int n)
    {
        return backpack[n];
    }
};
 
int main()
{
    BackPack backpack(5, 100);
    for (int i=0; i<20; i++)
    {
        backpack.AddBackPackItem(BackPackItem("<no_name>", 10+rand()%10, 20+rand()%10));
    }
 
    backpack.Pack();
    for (int i=0; i<backpack.BackPackCount(); i++)
    {
        BackPackItem item = backpack.GetPackPackItem(i);
        cout << item.GetName() << " " << item.GetCost() << "r " << item.GetMass() << "kg" << std::endl;
    }
    cout << "Total cost: " << backpack.GetCostInBackPack() << "r, total weight: " << backpack.GetMassInBackPack() << "kg." << std::endl;
 
    system("pause");
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru