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

Объектно ориентированное программирование. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ что обозначает? расшифруйте пожалуйста http://www.cyberforum.ru/cpp-beginners/thread303903.html
//////////////////////////////////////////////////////////////////////////////// fill<float>(A, A+n, 0); std::copy(A, A+n, std::ostream_iterator<float>(std::cout, " ")) //////////////////////////////////////////////////////////////////////////////// template<class T> void fill(T *A1, T *A2, const T& v)
C++ Нужно записать результаты программы в два файла, а компилятор ругается Нужно записать результаты программы в два файла, а компилятор ругается.. Что не так? #include "stdafx.h" #include <iostream> #include <stdio.h> #include <math.h> #include <cstdlib> #include <fstream> using namespace std; http://www.cyberforum.ru/cpp-beginners/thread303886.html
C++ Raiden(шифр)
Здравствуйте, уважаемые!) Нужно переделать шифр Raiden на си (без плюсов). Имеется этот шифр на си++(вики) void raiden_encode(const u32 key, const u32 data, u32 result) { u32 b0 = data, b1 = data, k = {key,key,key,key}, sk; int i;
C++ Циклическая очередь
Создать класс типа - циклическая очередь. Функции-члены получают элемент и вставляют элемент.
C++ Стыдно даже спрашивать http://www.cyberforum.ru/cpp-beginners/thread303865.html
Весьма простое задание и уже заступорился...ищу в двумерном массиве минимальный элемент каждой строки #include <iostream.h> #include <math.h> #include <conio.h> const int m=6,n=6; float A={{15,4.5,6.7,3.5,2.8,3.6}, {4.5,15,5.1,4.5,6.3,7}, {6.7,5.1,15,1.8,3.1,8.2}, {3.5,4.5,1.8,15,6.5,7.3},
C++ Тест скорости интернета Добрый день. Есть приложение написанное на с++(std, winapi). Надо добавить возможность тестирования скорости интенета. С сетью ни разу не работал. Подскажите, пожалуйста, в какую сторону копать? подробнее

Показать сообщение отдельно
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7954 / 4716 / 318
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
25.05.2011, 00:38     Объектно ориентированное программирование.
Использование стандартной библиотеки шаблонов STL. Сформировать стек из записей: наименование продукта, калорийность единицы продукта, количество продукта. Найти самый калорийный продукт, найти сумму калорийности всех продуктов. В массив перенести только те продукты чья калорийность ниже средней.
Изврат блин.
Ловите изврат в ответ.

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
#include <iostream>
#include <string>
#include <stack>
#include <deque>
#include <numeric>
#include <vector>
#include <functional>
#include <algorithm>
 
namespace my
{
    template<class T, class container = std::deque<T> >
    class stack:public std::stack<T, container>
    {
    public:
        typedef typename container::iterator iterator;
        typedef typename container::const_iterator const_iterator;
 
        iterator begin() {return c.begin();}
        iterator end() {return c.end();}
        const_iterator begin() const {return c.begin();}
        const_iterator end() const {return c.end();}
    };
}
 
class Product
{
public:
    Product(const std::string& title_,
            double en_price_,
            int numb_):title(title_), en_price(en_price_), numb(numb_)
    {
    }
    const std::string& getTitle() const {return title;}
    double getEnPrice() const {return en_price;}
    int getNumb() const {return numb;}
    void setTitle(const std::string& title_) {title = title_;}
    void setEnPrice(double en_price_) {en_price = en_price_;}
    void setNumb(int numb_) {numb = numb_;}
private:
    std::string title;
    double en_price;
    int numb;
};
 
double operator +(double en_pr, Product prod)
{
    return en_pr + prod.getEnPrice();
}
 
struct EnPricesCompare:public std::binary_function<Product, Product, bool>
{
    result_type operator () (const first_argument_type& first, const second_argument_type& second)
    {
        return first.getEnPrice() < second.getEnPrice();
    }
};
 
template<class StackType>
double enPriceSum(const StackType& stck)
{
    return std::accumulate(stck.begin(), stck.end(), 0.0);
}
 
template<class StackType>
double enPriceMiddle(const StackType& stck)
{
    return enPriceSum(stck) / stck.size();
}
 
template<class StackType>
Product getMax(const StackType& stck)
{
    return *std::max_element(stck.begin(), stck.end(), EnPricesCompare());
}
 
struct EnPriceCompare:public std::unary_function<Product, bool>
{
public:
    EnPriceCompare(double m_p):middle_price(m_p)
    {
    }
    result_type operator () (const argument_type& pr)
    {
        return pr.getEnPrice() < middle_price;
    }
private:
    double middle_price;
};
 
namespace my
{
    template<class InIt, class OutIt, class Pr1>
    inline OutIt copy_if(InIt First, InIt Last, OutIt Dest, Pr1 Pred)
    {
        while(First != Last)
        {
            if(Pred(*First))
            {
                *Dest=*First;
                ++Dest;
            }
            ++First;
        }
        return Dest;
    }
};
 
template<class StackType, class Cont, class Pred>
void copyProducts(const StackType& stck, Cont& cont, Pred pred)
{
    my::copy_if(stck.begin(), stck.end(), std::back_inserter(cont), pred);
}
 
int main()
{
    my::stack<Product> prod_stack;
    prod_stack.push(Product("1", 10, 5));
    prod_stack.push(Product("2", 5, 6));
    prod_stack.push(Product("3", 7, 10));
    Product prod = getMax(prod_stack);
    double en_sum = enPriceSum(prod_stack);
    std::vector<Product> prod_vec;
    copyProducts(prod_stack, prod_vec, EnPriceCompare(enPriceMiddle(prod_stack)));
}
 
Текущее время: 05:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru