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

Классы. С++. Описание и пояснение к проге... - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
Expelio
0 / 0 / 0
Регистрация: 16.03.2010
Сообщений: 23
22.09.2010, 10:04     Классы. С++. Описание и пояснение к проге... #1
Требуется:
Определить класс сортированный список элементов. В определение класса включить два конструктора для определения списка по его размеру и путем копирования другого списка. Предусмотреть функции добавления элемента и слияния двух сортированных списков.

Готовый код программы есть. Нужны описания к функциям/классам через // . Что какой элемент программы делает...

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
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <iostream>
#include <time.h>
#include <stdlib.h>
using namespace std;
 
 
class List
{
public:
    List(List& list);
    List(int num);
    ~List();
    void out_list();
    void add_list(List& list);
    void insert(int elem);
private:
    struct node 
    {
        int info;
        struct node *next;
    };
private:
    node* m_head;
    int count;
};
 
List::List(int num)
{
    m_head=NULL;
    for(int i=0;i<num;i++)
    {
        this->insert(rand()%100);
    }
}
 
List::List(List& list)
{
    m_head=NULL;
    node* p1=list.m_head;
    while(p1)
    {
        this->insert(p1->info); 
        p1=p1->next;
    }   
}
 
void List::insert(int elem)
{
    node* p = m_head;
    node* el = new node;
    el->info = elem;
    el->next = NULL;
    if(!m_head)
    {
        m_head = el;
    }else if(m_head->info>el->info)
    {
        el->next = m_head;
        m_head = el;
    }else
    {
        while(p->next)
        {
            if(p->info<=el->info && p->next->info>=el->info)
            {
                el->next = p->next;
                p->next = el;
                break;
            }
            p=p->next;
        }
        if(!p->next)
        {
            p->next = el;
        }
    }
}
List::~List()
{
    node* p =m_head;
    while(p)
    {
        node* temp = p;
        p=p->next;
        delete temp;
    }
}
void List::out_list()
{
    node* p = m_head;
    if(p)
    {
        while(p)
        {
            cout<<p->info<<' ';
            p=p->next;
        };
    }else
    {
        cout<<"empty list"<<endl;
    }
    cout<<endl;
}
 
void List::add_list(List& list)
{
    node* p1=list.m_head;
    while(p1)
    {
        this->insert(p1->info); 
        p1=p1->next;
    }   
}
 
void main()
{ 
    srand((unsigned)time(NULL));
 
    List list1(5);
    cout<<"List1:"<<endl;
    list1.out_list();
 
    List list2(list1);
    cout<<"List1:"<<endl;
    list2.out_list();
 
    List list3(6);
    cout<<"List3:"<<endl;
    list3.out_list();
 
    list2.add_list(list3);
    cout<<"List2+list3:"<<endl;
    list2.out_list();
 
 
    getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.09.2010, 10:04     Классы. С++. Описание и пояснение к проге...
Посмотрите здесь:

Сделать описание программы на классы C++
C++ пояснение по length
Граммотное пояснение. C++
C++ не могу понять описание, требуеться пояснение кода
Классы с наследованием. Описать класс fruit, содержащий поля сорт, размер, описание C++
C++ Где пишется описание для выходного файла .exe (например описание процесса)
C++ Описание чисто виртуальных методов, Абстрактные классы
Взаимно ссылающиеся классы: 1)Правильное описание 2)ошибки IntelliSense C++

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

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

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