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

Связные списки - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ А есть ли здесь разработчики под SymbianOS (С++)? http://www.cyberforum.ru/cpp-beginners/thread47360.html
Просто накопилось много вопросов, стоит ли их здесь задавать? на других форумах(рус.) посвященных Symbian не такого живого обсуждение. :)
C++ Сравнение числовых массивов Есть два числовых массива в одном 4 элемента в другом 5 (то есть разное количество) Как с помощью C++ можно сравнить эти массивы Нужно сравнить каждый элемент с каждым как я понимаю это надо делать с помощью цикла for или while но не могу придумать как именно за один проход цикла сравнить один элемент со всеми и так до конца http://www.cyberforum.ru/cpp-beginners/thread47319.html
C++ Работа с объектами внутри класса.
Вот два класса подскажите что здесь не так. Функция sh класса Engine должна вызвать функцию showhello класса Obj #pragma once class Engine { public: Engine(void); public:
C++ [C/C++]Не могу объявить static функцию в header файле.
Прочитал про static,и пытаюсь сделать функцию доступной только в пределах одного модуля.Поскольку функции вызывают друг друга(и ещё не помню,по какой хорошей причине),необходимо сначала объявить их в заголовке. Пишу так в header-файле: static Value syntax_parserPrimary (); а в файле .cpp : static Value syntax_parserPrimary() { //Тут само тело функции } На что...
C++ Где можно скачать полное описание стандарта C++ (желательно поновее)? http://www.cyberforum.ru/cpp-beginners/thread47279.html
Добрый день . Подскажите пожалуйста где можно скачать полное описание стандарта C++, желательно поновее. RNT, пожалуйста, прочитайте правила форума и постарайтесь впредь их соблюдать: П. 5.3. Запрещено размещать любые материалы, нарушающие авторские права (без разрешения правообладателя), а также ссылки на них. Стандарт С++ - это платный документ. Бесплатно можно найти черновики...
C++ Учебники Кто разбераеться в этой программе, дайте ссылки на учебники или названия учебников по которым можно учиться, потому что уже немогу. Зарание спасибо! подробнее

Показать сообщение отдельно
insolent
 Аватар для insolent
826 / 347 / 15
Регистрация: 30.01.2009
Сообщений: 1,204
17.08.2009, 01:16     Связные списки
Killing Friend, я
вот
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
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
#include <iostream>
using namespace std;
//////////////////////////////////////////////////////////////////////////
struct dish
{
    double price;
    double caloric;
    dish* next;
};
//////////////////////////////////////////////////////////////////////////
class set_meal
{
private:
    dish* first_dish;
    int amount_dishes;
public:
    set_meal():amount_dishes(0),first_dish(NULL)
    {}
    set_meal(int n_d):amount_dishes(n_d),first_dish(NULL)
    {}
    set_meal(set_meal& s1)
    {
        amount_dishes = s1.amount_dishes;
    }
    void get_dish();
    double total_cost();
    double total_calories();
};
//------------------------------------------------------------------------
void set_meal::get_dish()
{
    for(int i = 0;i < amount_dishes;i++)
    {
        dish* new_dish = new dish;
        cout << "\nВведите калорийность блюда №"
             << i+1
             << ": ";
        cin >> new_dish->caloric;
        cout << "\nВведите цену блюда №"
             << i+1
             << ": $";
        cin >> new_dish->price;
        new_dish->next = first_dish;
        first_dish = new_dish;
    }
    _flushall();
}
//------------------------------------------------------------------------
double set_meal::total_cost()
{
    double t_price = 0;
    dish* current = first_dish;
    while(current)
    {
        t_price += current->price;
        current = current->next;
    }
    return t_price;
}
//------------------------------------------------------------------------
double set_meal::total_calories()
{
    double t_calories = 0;
    dish* current = first_dish;
    while(current)
    {
        t_calories += current->caloric;
        current = current->next;
    }
    return t_calories;
}
//////////////////////////////////////////////////////////////////////////
class cashbox
{
private:
    int amount_set_meals;
    int amount_dishes;
    double* t_cost_meal;
    double* t_calories_meal;
    set_meal* meal;
    void price_meal();
    void calorie_meal();
    void most();
public:
    cashbox():amount_set_meals(0),amount_dishes(0)
    {}
    ~cashbox()
    {
        delete[] meal;
        delete[] t_cost_meal;
    }
    void run();
};
//------------------------------------------------------------------------
void cashbox::run()
{
    cout << "Введите количество комплексных обедов: ";
    cin >> amount_set_meals;
    cout << "\nВведите количество блюд в обеде: ";
    cin >> amount_dishes;
    _flushall();
    meal = new set_meal[amount_set_meals];
    t_cost_meal = new double[amount_set_meals];
    t_calories_meal = new double[amount_set_meals];
    for(int i = 0; i < amount_set_meals;i++)
    {
        meal[i] = set_meal(amount_dishes);
        cout << "\nОбед №" << i+1;
        meal[i].get_dish();
    }
    most();
}
//------------------------------------------------------------------------
void cashbox::price_meal()
{
    for (int i = 0;i < amount_set_meals;i++)
    {
        t_cost_meal[i] = meal[i].total_cost();
    }
}
//------------------------------------------------------------------------
void cashbox::calorie_meal()
{
    for(int i = 0; i < amount_set_meals;i++)
    {
        t_calories_meal[i] = meal[i].total_calories();
    }
}
//------------------------------------------------------------------------
void cashbox::most()
{
    //double low_price = 0;
    int num_cheap = 0;
    int num_m_exp = 0;
    int num_h_calories = 0;
    price_meal();
    calorie_meal();
    for(int i = 0; i < amount_set_meals;i++)
    {
        if(t_cost_meal[i] < t_cost_meal[num_cheap])
            num_cheap = i;
        if(t_cost_meal[i] > t_cost_meal[num_m_exp])
            num_m_exp = i;
        if(t_calories_meal[i] > t_calories_meal[num_h_calories])
            num_h_calories = i;
    }
    cout << "\nСамое дешовый обед - обед №" 
         << num_cheap+1 
         << "($" 
         << t_cost_meal[num_cheap]
         << ").";
    cout << "\nСамое дорогой обед - обед №"
         << num_m_exp+1
         << "($"
         << t_cost_meal[num_m_exp]
         << ").";
    cout << "\nСамое калорийный обед - обед №"
         << num_h_calories+1
         << "("
         << t_calories_meal[num_h_calories]
         << " Кал.).";
}
//////////////////////////////////////////////////////////////////////////
int main(int argc, char* argv[])
{
    setlocale(0,"");
    cashbox cash;
    cash.run();
    getchar();
    return 0;
}
попробовал решить твою задачку..
 
Текущее время: 19:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru