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

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

Восстановить пароль Регистрация
 
denyalbg
0 / 0 / 0
Регистрация: 08.02.2013
Сообщений: 43
30.10.2013, 17:31     Алгоритм сортировки #1
Доброго времени суток. Нужна помощь в задаче.
Суть такова: у нас есть календарный план с полями "время" (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();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.10.2013, 17:31     Алгоритм сортировки
Посмотрите здесь:

C++ Алгоритм сортировки
Алгоритм квадратичной сортировки C++
C++ Комбинированый алгоритм сортировки
C++ Алгоритм сортировки
Алгоритм сортировки,ошибка! C++
C++ Алгоритм сортировки
Реализовать алгоритм сортировки C++
Алгоритм сортировки C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 15:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru