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

Быстрая сортировка для массива обьектов пользовательского класса - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Посчитать сумму модулей элементов массива, что расположены после первого нулевого элемента http://www.cyberforum.ru/cpp-beginners/thread865152.html
Помогите пожалуйста!!! Надо очень срочно, а у самого ничего не получается. Спасибо заранее.
C++ Составить программу вычисления заданной математической функции путем разложения ее в ряд Помогите плс ребят разложение функции в ряд с заданной точностью Составить программу вычисления заданной математической функции путем разложения ее в ряд. Программа должна применять рекурсивную функцию для вычисления суммы ряда с заданной точностью E. Для оценки правильности вычисления суммы ряда в программе следует так же предусмотреть вычисление формулы по данной матем формуле( полученное ... http://www.cyberforum.ru/cpp-beginners/thread865138.html
Что происходит при удалении/добавлении элемента в контейнер vector? C++
Объясните пожалуйста, какие этапы проходят при добавлении и удалении элемента из контейнера
C++ Из двух стеков равной длины создать один стек, не удаляя исходные стеки
1.Из двух стеков равной длины создать один стек, не удаляя исходные стеки (создавать копии элементов). При создании нового стека элементы брать по-очереди, по одному элементу из каждого стека. Помогите
C++ Удаление элемента из дерева http://www.cyberforum.ru/cpp-beginners/thread865125.html
Написал 2 функции для удаления элемента из дерева. Брал алгоритм из вирта, но почему-то не работает. Может не правильно с паскаля на си переписал. Помогите пожалуйста //ищем самую правую вершину левого поддерева void del_2_potomka(struct BinaryTree *r, struct BinaryTree *q) //в качестве аргумента элемент, который и надо удалить { if(r->right!=NULL) del_2_potomka(r->right, q); else {...
C++ Определить, пуст ли данный элемент массива Есть массив обьектов некоторого класса(GOODS goods). Хочу написать ф-цию которая покажет пользователю, какие позиции массива пусты, чтоб потом можно было туда чтото записать. Сообственно надо ето както проверить. Я пока разписую методы для всех класов, поетму не могу взять и скомпилировать програму, поетому пишу сюда. Такой вариант (goods==0) как мне кажется не проканает. Если надо код то вот:... подробнее

Показать сообщение отдельно
o33ik
138 / 5 / 1
Регистрация: 25.03.2013
Сообщений: 228
14.05.2013, 20:43     Быстрая сортировка для массива обьектов пользовательского класса
Насколько я знаю в Си++ есть встроеная ф-ция быстрой сортировки. Как нею воспользоваться для сортировки массива обьектов моего класса? Хочу посортировать массив " GOODS goods[GOODS_IN_SHOP] " за полем NAME по возростанию.

Кликните здесь для просмотра всего текста
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
#include <iostream>
#include <string>
#include <string.h>
 
#define GOODS_IN_SHOP 255
 
using namespace std;
 
class GOODS
{
protected:
    bool ANAVALIBLE;
    string NAME;
    string COUNT_TYPE;
    int COUNT;
    int PRICE;
    int PRICE_;
public:
    void SELL(int count)
    {
        COUNT=COUNT-count;
    }
    bool ANAVALIBLE(int count, string name)
    {
        if(COUNT>count && NAME==name)
            return true;
        else
            return false;
    }
    int REST(int get_money, int count)
    {
        return get_money - (PRICE+PRICE_)*count;
    }
    void ADD_NEW_GOOD(int numb)
    {
        cout << "\n\t\tGood #" << numb << "\n\tEnter Name:\n\t";
        cin >> NAME;
        cout << "\n\tEnter count type:\n\t";
        cin >> COUNT_TYPE;
        cout << "\n\tEnter count:\n\t";
        cin >> COUNT;
        cout << "\n\tEnter price:\n\t";
        cin >> PRICE;
        cout << "\n\tEnter mark-up:\n\t";
        cin >> PRICE_;
    }
}
 
class SHOP
{
protected:
    GOODS goods[GOODS_IN_SHOP];
    int ALL_CASH;
public:
     void ADD_GOOD(int position)
     {
         goods[position-1].ADD_NEW_GOOD(position);
     }
     int SELL(string good_name, int good_count, int money)
     {
         int NUMBER=-1;
         for(int i=0; i<GOODS_IN_SHOP; i++)
         {
             bool ANAV=false;
             ANAV = goods[i].ANAVALIBLE(good_count, good_name);
             if (bool ANAV=true)
             {
                 NUMBER = i;
                 break;
             }
             else
                 continue;
         }
         if(NUMBER>=0)
         {
            goods[NUMBER].SELL(good_count);
            ALL_CASH = ALL_CASH + money - goods[NUMBER].REST(money, good_count);
            return goods[NUMBER].REST(money, good_count);
         }
     }
}shop;
 
class DIRECTOR: SHOP
{
public:
    void TAKE_CASH()
    {
    }
    void GET_CASH()
    {
    }
    void ORDER_GOODS()
    {
    }
    void ADD_GOODS()
    {
        int position;
        cout << "\n\tEnter position in list, where you want add new good: ";
        cin >> position;
        shop.ADD_GOOD(position);
    }
}
 
 
class SELLER: SHOP
{
protected:
    int get_cash;
    int take_cash;
    string good_name;
    int good_count;
public:
    void SELL()
    {
        cout << "\n\tEnter name of good which you want buy: ";
        cin >> good_name;
        cout << "\n\tEnter count of good: ";
        cin >> good_count;
        cout << "\n\tPlease, take a money: ";
        cin >> get_cash;
        if (shop.SELL(good_name, good_count, get_cash)<0)
            cout << "\n\tNot enough money.";
        else
            cout << "\n\tThank you for your purchase. Your rest: " << shop.SELL(good_name, good_count, get_cash) << " . Come more) \n";
    }
}
 
void main()
{
    
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru