0 / 0 / 0
Регистрация: 23.02.2021
Сообщений: 1
1

Сортировка массива в классе

23.02.2021, 09:43. Показов 270. Ответов 0

Здравствуйте форумчане. Хотел бы у вас спросить насчет сортировки в методе.
Я хотел запихнуть свой массив Interfeys arr[] в метод sortirovka, после этого его отсортировать "пузырьком" и вывести отсортированный массив на экран.
Вас должна интересовать строка
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
sortirovka(int arr[])
    {
        int n;
        int temp;
        
    for (int i = 0; i < i - 1; i++) 
    {
        for (int j = 0; j < i - n - 1; j++) 
        {
            if (arr[j] > arr[j + 1]) 
            {
                temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
    for(int i = 0; i <n; i++)
    {
    cout << arr[n];
}
}
Весь код я привел снизу дабы полностью можно было просмотреть его на наличие ошибок.
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
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
#include <iostream>
#include <string>
#include <fstream>
#include<windows.h>
using namespace std;
class Interfeys
{
    private:
    string attractions;//достопремичательность
    string DATE;
    string money;
    int SAVE;
    public:
    previu()
    {
    cout << "Добро пожаловать в базу данных!"<<endl;
    cout << "Здесь вы можете заполнить информацию о памятниках а так же произвести изменения"<<endl;
}
    set(string attractions_a, string DATE_d, string money_m,int SAVE)
    {
        ofstream fout("attractions.txt",fstream::app);
    attractions = attractions_a;
    DATE = DATE_d;
    money = money_m;
    cout << "Введите название, дату создания, и соодержание памятников "<<endl;
    cin >> attractions;
    cin >> DATE;
    cin >> money;
    switch (SAVE)
    {
    define: 1;
    case 1:
    fout << "Название памятника: ";
    fout << attractions<<endl;
    fout << "Дата основания: "; 
    fout << DATE<<endl;
    fout << "Расходы на содержание: ";
    fout << money <<endl;
    fout.close();
    break;
}
}
    get(int i)
    {
    cout << "___________________________________"<<endl;
    cout << "["<< i <<"] " << " Название памятника "<< attractions <<endl;
    cout <<" Дата основания памятника "<< DATE <<endl;
    cout << " Расходы на содержания "<< money <<endl;
    cout << "___________________________________"<<endl;
    i++;
}
    input()
    {
    ifstream in("attractions.txt"); // окрываем файл для чтения
    if (in.is_open())
    {
        while (getline(in, attractions))//цикл с отступом на следующую строку
        {
            cout << attractions << endl;
        }
    }
    in.close();
    }
    deleted_file()
    {
        fstream clear_file("attractions.txt",ios::out);
        clear_file.close();
    }
    zapolni()
    {
    cout << "______________________________________________"<<endl;
    cout << "Выберите действие которое хотите сделать с БД"<<endl;
    cout << "[1] Записать новую базу данных о памятниках"<<endl;
    cout << "[2] Отобразить сохраненную базу данных"<<endl;
    cout << "[3] Очистка базы данных"<<endl;
    cout << "[4] Перезапись"<<endl;
    cout << "[5] Закончить работу"<<endl;
    }
    sortirovka(int arr[])
    {
        int n;
        int temp;
        
    for (int i = 0; i < i - 1; i++) 
    {
        for (int j = 0; j < i - n - 1; j++) 
        {
            if (arr[j] > arr[j + 1]) 
            {
                temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
    for(int i = 0; i <n; i++)
    {
    cout << arr[n];
}
}
~Interfeys()
{
}
};
int main ()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    setlocale(LC_ALL, "Russian");
    string attractions;
    string DATE;
    string money;
    int n;
    int SAVE;
    int del;
    int perezapis;
    int b;
    int menu;
    Interfeys g;
    g.previu();
    do
    {
    g.zapolni();
        while(!(cin>>menu) || cin.get()!= '\n' || menu > 5 || menu < 1)//ЗАЩИТА ОТ ДУРАКА! До тех пока будет неправильный ввод \\ до конца строки 
        {
    cin.clear();//Очищает буфер от флагов-ошибок 
    cin.sync();//очщиает буфер от переменных
        cout << "Неверное значение." <<endl;//
        cout << "Выберите одно из 5 значений: ";
    }
    switch (menu)
    case 1:
        {
    Interfeys g;
    cout << "Сколько памятников нужно записать в базу данных?"<<endl;
    cin >> n;
    cout << "____________________________________________________"<<endl;
    cout << "Сохранить файл на накопитиле?(1 - да, 2 - нет)"<<endl;
    cin >> SAVE;
    int *memory;
    memory = new int [n];
    Interfeys arr[n];
    for(int i = 0; i<n; i++)
{
    arr[i].set(attractions,DATE,money,SAVE);
}
for(int i = 0; i<n; i++)
    {
    arr[i].get(i);
}
delete [] memory;
break;
}
switch(menu)
case 2:
    {
Interfeys g;
g.input();
break;
}
switch(menu)
case 3:
{
    Interfeys g;
    cout << "Файл очищен"<<endl;
    g.deleted_file();
    break;
}
switch(menu)
{
    case 4:
        {
    Interfeys g;
    g.deleted_file();
    cout << "Сколько памятников нужно записать в базу данных?"<<endl;
    cin >> b;
    int *memory;
    memory = new int [b];
    Interfeys arr[b];
    for(int i = 0; i<b; i++)
{
    arr[i].set(attractions,DATE,money,SAVE);
}
for(int i = 0; i<b; i++)
    {
    arr[i].get(i);
}
delete [] memory;
    break;
}
}
}
while (menu !=5);
return 0;
}
Буду благодарен за советы и помощь.
P.s не усложняйте сильно сортировку если возьметесь за мою тему. И если вы захотите просмотреть интерфейс программы то советую перед этим поставить формат текста Luciada( пкм по интерфейсу -> свойства) дабы не любоваться крокозябрами.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.02.2021, 09:43
Ответы с готовыми решениями:

Сортировка элементов массива объектов в классе
Здравствуйте! Помогите пожалуйста найти ошибку в коде - я уже 2 дня над ней бьюсь... Необходимо...

В классе инициализировать массив, в классе создать функцию вывода массива на экран
Прошу помоши с выводом данных, которые содержаться в массиве, на экраy: Задача: В классе...

Создать 2 класса в 1-м классе массив из 10 чисел, а во 2-м классе массив из порядковых номеров максимального числа из 1-го массива(Если их несколько)
Создать 2 класса в 1-м классе массив из 10 чисел, а во 2-м классе массив из порядковых номеров...

Сортировка в классе
Описать 2 метода (пузырька и выбора) в одном классе

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.02.2021, 09:43
Помогаю со студенческими работами здесь

Сортировка в классе
Задание: Описать класс WORKER, содержащий следующие поля: •фамилия и инициалы работника;...

Как работает время в программе, почему сортировка массива на 1000 элементов быстрее, чем сортировка массива на 8?
#include &lt;iostream&gt; #include &lt;chrono&gt; #include &lt;cmath&gt; #include &quot;List.h&quot; #include &lt;iomanip&gt;...

Сортировка строк в классе
У меня есть класс: class Planet { public: Planet(int l_name = 20); // конструктор...

Сортировка qsort в классе
Здравствуйте! Все никак не получается, решил обратиться за помощью. Как мне отсортировать массив...

Сортировка по алфавиту в классе
Всем привет, недавно тут спрашивал по поводу классов, вот появилась новая проблема: В классе...

Сортировка строк в классе
Всем привет, нужно дать пользователю возможность сортировать по полям, выбрал для пробы одно поле....


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru