Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 03.07.2020
Сообщений: 1
1

Пояснение текста программы

03.07.2020, 10:30. Показов 310. Ответов 1
Метки нет (Все метки)

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
#include "pch.h"
#include <iostream>
using namespace std;
 
struct list
{
    int val;
    list *prev;
    list *next;
 
    void push(list *& ph, int v)
    {
        list *q;
        list *p = new list;
        p->val = v;
        p->prev = p->next = NULL;
 
        if (ph == NULL)
        {
            ph = p;
            return;
        }
 
        for (q = ph; q->next != NULL; q = q->next);
        p->prev = q;
        q->next = p;
    }
 
    void show()
    {
        cout << "\t" << "ind" << "\t";
        int i = 0;
        for (list* temp = this; temp != NULL; temp = temp->next)
            cout << i++ << " ";
        cout << endl << "\t" << "val" << "\t";
        for (list* temp = this; temp != NULL; temp = temp->next)
            cout << temp->val << " ";
        cout << endl << endl;
    }
 
};
 
list* init(int arr[], int size)
{
    list* temp = NULL;
    for (int i = 0; i < size; i++)
        temp->push(temp, arr[i]);
    return temp;
}
 
list *sort(list *ph)
{
    list *q, *out, *p, *pr;
    out = NULL;
    while (ph != NULL)
    {
        q = ph;
        ph = ph->next;
        for (p = out, pr = NULL; p != NULL && q->val > p->val; pr = p, p = p->next);
        if (pr == NULL)
        {
            q->next = out;
            if (out != NULL && out->prev != NULL)
                q->prev = out->prev;
            else
                q->prev = NULL;
            if (out != NULL)
                out->prev = q;
            out = q;
        }
        else
        {
            q->next = p;
            if (p != NULL)
                p->prev = q;
            q->prev = pr;
            pr->next = q;
        }
    }
    return out;
}
 
int main()
{
    int A[]{ 3,1,7,4 };
 
    list* one = init(A, sizeof(A) / sizeof(int));
 
    cout << "In: "; one->show();
 
    list* two = sort(one);
 
    cout << "Out: "; two->show();
 
    system("pause");
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.07.2020, 10:30
Ответы с готовыми решениями:

Пояснение текста программы
Здравствуйте, помогите, пожалуйста, разобраться с текстом программы. Не могу объяснить русским...

нужно пояснение по части из курсовой связанной с записями и массивами, напротив вопросов дать пояснение что операторы делают или строчки программы
лучше если конечно дадите по строчное определение что делает программа тут program Cntrl; uses...

Пояснение работы программы
Необходимо сделать лабу, нашел код, но некоторые строчки не понимаю, не могли бы объяснить их...

Сделайте пояснение кода программы
Можете сделать пояснение кождой строки кода. Var s , s1 , s2 : string; Begin write( 'Введите...

1
Эксперт CЭксперт С++
5113 / 4552 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
03.07.2020, 11:16 2
nutik1975, что конкретно непонятно? Или Вам необходим полный курс по С++?
Если в-кратце, то:
1) Имеем структуру, описывающую один элемент двунаправленного списка, в ней есть, кроме полей значения, адресов предыдущего и последующего, функции-члены, одна добавляет в список новый элемент, вторая - выводит весь список.
2)В main() создается список one из элементов массива, выводится, затем создается список two, как отсортированный one, и выводится.
Еще раз спрашиваю, что конкретно непонятно?
1
03.07.2020, 11:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.07.2020, 11:16
Помогаю со студенческими работами здесь

пояснение всех элементов программы
Поясните, пожалуйста, ко всем элементам проги, что каждый из них делает: uses crt; var M : array...

Написать пояснение к каждой строчке программы
Sub m_1() Dim vInputBox As String ActiveWorkbook.Worksheets.Add...

Требуется пояснение в написании программы в Delphi
Вот собственно получил следующее задание по прикладному программированию. Разработать приложение,...

Проверьте правильность текста программы проверки текста заклинаний.
на вход программе подается текст заклинания, состоящего не более, чем из 200 символов,...

Ввод текста. Закрытие программы. Запуск программы. Введенный ранее текст уже открыт
Здравствуйте. Подскажите, как сделать &quot;Ввод текста. Закрытие программы. Запуск программы....

Сохранение текста из программы в текстовый документ и загрузка из того же файла при старте программы
Инфа записывается в stringGadget и при нажатии кнопки вставляеттся в один из пяти Listview ( в...


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

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