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

Структуры

02.05.2019, 17:13. Показов 255. Ответов 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
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.05.2019, 17:13
Ответы с готовыми решениями:

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

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

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

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.05.2019, 17:13
Помогаю со студенческими работами здесь

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

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

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

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

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


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

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

Новые блоги и статьи
Настройка гиперпараметров с помощью Grid Search и Random Search в Python
AI_Generated 15.05.2025
В машинном обучении существует фундаментальное разделение между параметрами и гиперпараметрами моделей. Если параметры – это те величины, которые алгоритм "изучает" непосредственно из данных (веса. . .
Сериализация и десериализация данных на Python
py-thonny 15.05.2025
Сериализация — это своего рода "замораживание" объектов. Вы берёте живой, динамический объект из памяти и превращаете его в статичную строку или поток байтов. А десериализация выполняет обратный. . .
Чем асинхронная логика (схемотехника) лучше тактируемой, как я думаю, что помимо энергоэффективности - ещё и безопасность.
Hrethgir 14.05.2025
Помимо огромного плюса в энергоэффективности, асинхронная логика - тотальный контроль над каждым совершённым тактом, а значит - безусловная безопасность, где безконтрольно не совершится ни одного. . .
Многопоточные приложения на C++
bytestream 14.05.2025
C++ всегда был языком, тесно работающим с железом, и потому особеннно эффективным для многопоточного программирования. Стандарт C++11 произвёл революцию, добавив в язык нативную поддержку потоков,. . .
Stack, Queue и Hashtable в C#
UnmanagedCoder 14.05.2025
Каждый опытный разработчик наверняка сталкивался с ситуацией, когда невинный на первый взгляд List<T> превращался в узкое горлышко всего приложения. Причина проста: универсальность – это прекрасно,. . .
Как использовать OAuth2 со Spring Security в Java
Javaican 14.05.2025
Протокол OAuth2 часто путают с механизмами аутентификации, хотя по сути это протокол авторизации. Представьте, что вместо передачи ключей от всего дома вашему другу, который пришёл полить цветы, вы. . .
Анализ текста на Python с NLTK и Spacy
AI_Generated 14.05.2025
NLTK, старожил в мире обработки естественного языка на Python, содержит богатейшую коллекцию алгоритмов и готовых моделей. Эта библиотека отлично подходит для образовательных целей и. . .
Реализация DI в PHP
Jason-Webb 13.05.2025
Когда я начинал писать свой первый крупный PHP-проект, моя архитектура напоминала запутаный клубок спагетти. Классы создавали другие классы внутри себя, зависимости жостко прописывались в коде, а о. . .
Обработка изображений в реальном времени на C# с OpenCV
stackOverflow 13.05.2025
Объединение библиотеки компьютерного зрения OpenCV с современным языком программирования C# создаёт симбиоз, который открывает доступ к впечатляющему набору возможностей. Ключевое преимущество этого. . .
POCO, ACE, Loki и другие продвинутые C++ библиотеки
NullReferenced 13.05.2025
В C++ разработки существует такое обилие библиотек, что порой кажется, будто ты заблудился в дремучем лесу. И среди этого многообразия POCO (Portable Components) – как маяк для тех, кто ищет. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru