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

Алгоритм сортировки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ active directory http://www.cyberforum.ru/cpp-beginners/thread992764.html
Здравствуйте!!!!В общем проблема в том что не компилица, не могу понять по чему.(Visual studio 12) #include <Iads.h> #include <Adshlp.h> #include <iostream> #include <string> int main() { IADsContainer *pContainer = NULL; HRESULT hr = S_OK;
C++ Прохожу масивы Одним из недостатковC++ является отсутствие для бизнес-программ встроенного типа для денежных значений, такого, как $173 698 001.32. Такой денежный тип должен иметь возможность для хранения числа с фиксированной десятичной точкой точностью около 17 знаков, которого было бы достаточно для хранения национального долга в долларах и цен-тах. К счастью, встроенный типC++ long double имеет... http://www.cyberforum.ru/cpp-beginners/thread992754.html
C++ Ассоциативные контейнеры
Скажите, пожалуйста, как с помощью контейнеров multimap или multiset реализовать хранение объектов класса Праздник. вот мой класс, а что и как с ним делать дальше...? class holiday{ // char* name; int day; int month; public: // holiday(char* name="New Year", int day=1, int month=1){
C++ класс для работы з массивами
Создать класс для работы з массивами что содержит М та N елементы и включить функции формирования елементов массива, конструктора и деструктора класса и вывести все на экран.
C++ Перестановить положительные элементы в начало массива, отрицательные — в конец http://www.cyberforum.ru/cpp-beginners/thread992728.html
Помогите написать задачи: 1. Перестановить положительные элементы в начало массива, отрицательные - в конец. 2. Найти элемент с заданным ключом (значением). 3. Сортировать простой обмен.
C++ Найти сумму ряда нужно найти сумму ряда . пробовал с pow , но выдает ошибку Вот код , Но он без функции возведения в степень. не могу придумать как её правильно сделать #include <conio> #include <iostream> #include <cmath> using namespace std; int main() { double Sum=0; int n=1; подробнее

Показать сообщение отдельно
denyalbg
0 / 0 / 0
Регистрация: 08.02.2013
Сообщений: 43

Алгоритм сортировки - C++

30.10.2013, 17:31. Просмотров 176. Ответов 0
Метки (Все метки)

Доброго времени суток. Нужна помощь в задаче.
Суть такова: у нас есть календарный план с полями "время" (time) и "приоритет" (money).
Нужно рассортировать эти два массива с использованием пузырькового метода сортировки и посчитать оптимальное время и приоритет.
Вот, казалось бы, все сделано, но в функция calc() не выполняется. Помогите разобраться, почему так.

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
#include "stdafx.h"
#include <iostream>
#include <ctime>
//#include <list>
using namespace std;
 
struct Elem
{
    int num;
    int *time;
    int *money;
};
 
class Cal_plan
{
private:
    Elem elem;
    int necces_time;
    int amount;
    int max_el;
    int sum;
    int sum_time;
public:
    Cal_plan();
    int get_kol();
    Cal_plan(int am);
    void calc();
    //void add(Elem a);
    void print();
    void show();
    //bool isConstr();
    
};
 
Cal_plan::Cal_plan()
{
    amount=0;
    cout<<"1) План не осуществлен\n";
}
 
int Cal_plan::get_kol()
{
    return amount;
}
 
Cal_plan::Cal_plan(int am)
{
    amount=am;
    elem.time = new int [amount];
    elem.money = new int [amount];
    cout<<"2) Конструктор с числом\n"<<"---------------------------------------\n";
    cout<<"Номер"<<"      "<<"Время"<<"      "<<"Приоритет\n";
    for(int i=1;i<=amount;i++)
    {
        elem.num=i;
        elem.time[i]=rand()%10;
        elem.money[i]=rand()%100;
        cout<<elem.num<<"          "<<elem.time[i]<<"          "<<elem.money[i]<<"         \n";
        cout<<"---------------------------------------\n";
    }
}
 
/*bool Cal_plan::isConstr()
{
    return Cal_plan::Cal_plan(int am)
}*/
/*void Cal_plan::calc()
{
    
}*/
 
void Cal_plan::print()
{
    cout<<"Введите количество этапов по расписанию\n";
    cin>>elem.num;
    cout<<"Введите время выполнения этапа и плату за каждый этап\n";
    for(int i=0;i<elem.num;i++)
    {
        cin>>elem.time[i]>>elem.money[i];
    }
    cout<<"Введите ограничение по времени\n";
    cin>>necces_time;
}
 
void Cal_plan::calc()
{
    do
    {
        int i=0;
        if(elem.time[i]>elem.time[i+1])
        {
            int temp;
            temp=elem.time[i];
            elem.time[i]=elem.time[i+1];
            elem.time[i+1]=temp;
        }
        else i++;
    }
    while(elem.time[amount]);
    for(int i=0;i<amount;i++)
    {
        if(elem.time[i]==elem.time[i+1])
        {
            if(elem.money[i]>elem.money[i+1])
            {
                sum=sum+elem.money[i];
                sum_time=sum_time+elem.time[i];
            }
            else sum=sum+elem.money[i+1]; sum_time=sum_time+elem.time[i+1];
        }
        else i++;
    }
    cout<<"Результат\n";
    cout<<"Оптимальное время: "<<sum_time<<" Оптимальный приоритет: "<<sum<<"\n";
}
 
 
void main()
{
    setlocale(LC_ALL, "Russian");
    Cal_plan obj, obj1(15);
    obj1.calc();
    cin.get();
}
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru