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

Структуры

02.05.2019, 17:13. Показов 223. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите, пожалуйтста, найти ошибку в сортировке, все компилится, но некоторые строки отсортированы неправильно
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
#include <iostream>
#include "stdio.h"
 
using namespace std;
 
int globalPer1(3); //глобальная инициализированная переменная
 
int globalPer2; //глобальная неинициализированная переменная
 
static int staticGlovalPer1(5); //статическая глобальная инициализированная переменная 
 
static int staticGlovalPer2; //статическая глобальная неинициализированная переменная
 
 
 
struct var_memory 
{
    const char *str;
    int* address;
};
 
 
void print(var_memory *arg, int n) 
{
    for (int i = 0; i < n; i++) 
    {
        printf("%s и %p", arg[i].str, arg[i].address);
        cout << endl;
    }
}
 
void sort(var_memory *arg, int n) 
{
    int *max;
    int pos;
    bool flag;
    const char *str;
    for (int i = 0; i < n; i++) 
    {
        max = arg[i].address;
        flag = false;
        for (int j = i + 1; j < n; j++) 
        {
            if (max < arg[j].address) 
            {
                pos = j;
                flag = true;
            }
        }
        if (flag) 
        {
            str = arg[i].str;
            max = arg[i].address;
 
            arg[i].str = arg[pos].str;
            arg[i].address = arg[pos].address;
 
            arg[pos].str = str;
            arg[pos].address = max;
        }
 
    }
 
}
 
int main(int*_argv, char*_argc) 
{
    setlocale(LC_ALL, "Russian");
 
 
 
    static int staticLocalPer1(7); //статическая локальная инициализированная переменная
 
    static int staticLocalPer2; //статическая локальная неинициализированная переменная
 
    int localPer1(9); //локальная инициализированная переменная
 
    int localPer2; //локальная неинициализированная переменная
 
    int* dinamic = new int; //динамическая переменная
 
    var_memory arrayStruct[12] = {  { "Глобальная инициализированная переменная(Data)", &globalPer1},
                                    { "Глобальная неинициализированная переменная(BSS)", &globalPer2},
                                    { "Статистическая глобальная инициализированная переменная(Data)", &staticGlovalPer1},
                                    { "Статистическая глобальная неинициализированная переменная(BSS)", &staticGlovalPer2},
                                    { "Статистическая локальная инициализированная переменная(Data)", &staticLocalPer1},
                                    { "Статистическая локальная неинициализированная переменная(BSS)", &staticLocalPer2},
                                    { "Локальная инициализированная переменная(Stack)", &localPer1},
                                    { "Локальная неинициализированная переменная(Stack)", &localPer2},
                                    { "Динамическая переменная(Куча)", dinamic},
                                    { "Первый параметр командной строки(argv)", _argv},
                                    { "Второй параметр командной строки(argc)", (int*)_argc},
                                    { "Информация о функции main()", (int*)main},
                                 }; //массив структур
    var_memory temp;
    print(arrayStruct, 12);
    sort(arrayStruct, 12);
    cout << "\nМассив структур после сортировки\n\n";
    print(arrayStruct, 12);
 
    system("pause");
 
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.05.2019, 17:13
Ответы с готовыми решениями:

Помещение структуры в вектор, удаление структуры, изменение элементов структуры
Здравствуйте. Помогите разобраться с тем, как: 1 - находить элементы в векторе зная уникальный...

Динамические структуры данных. Программа ввода в структуры и вывода информации из неё.
Автоматизированная информационная система на железнодорожном вокзале содержит сведения об...

Функция внутри структуры использует указатель, как поле этой структуры
Коротко, есть класс A, описан в файле A_class.h ну и реализованы функции в A_class.cpp, есть файл...

Структуры, массивы структур (как можно присваивать(инициализировать) значения полям структуры)
Есть у меня вот такая структура, например struct Subject { int cost; int Volume; }; Потом...

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

Вывод структуры, строка как элемент структуры
Описать структуру с именем TRAIN, содержащую следующие поля: □ название пункта назначения;...

Исследование структуры FILE или: что вообще можно выудить из этой структуры, указатель на которую мы получаем при открытии файла?
Ничего нельзя. Итак, новичкам напомню, что после выполнения кода FILE* f= fopen (&quot;file.txt&quot;,...

Оператор if и структуры. Возвращение структуры из функции
Здравствуйте, имеется такая вот функция. void InputStructEmployee (int StructSize) { ...

Структуры. Работа с файлами, содержащими структуры
2) Дана совокупность сведений, каждое из которых состоит из следующих рекви-зитов: фамилия и...


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

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

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