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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Приведение матрицы к диагональному виду http://www.cyberforum.ru/cpp-beginners/thread168067.html
Всем привет! Помогите решить задачку на с++: Привести матрицу n*n к диагональному виду, иллюстрируя каждый шаг. У меня получилось вывести матрицу на экран: #include <iostream> #include <stdlib.h>//очистка экрана. using namespace std; int main(){ int n;
C++ Составить функцию которая добавляет в начало числа, увеличивая порядок числа на 1. Здравствуйте, помогите решить задачу на C++: Составить функцию, которая, получив целое число, сравнивает первую и последнюю его цифры и, если последняя цифра больше первой, то ее функция добавляет в начало числа, увеличивая порядок числа на 1. Функция main() организует ввод заранее неизвестного числа целых чисел и выводит на экран только те числа, которые изменили свое значение в результате... http://www.cyberforum.ru/cpp-beginners/thread168062.html
C++ Считывание строки из файла
Здравствуйте Проблема такая: во время считывания строки из файла выносит из проги ifstream fin("in.txt"); string word(""); while (!fin.eof()) { getline(fin, word, '\n');//выносит здесь ... }
Зашифровать слово используя шифр четырех квадратов C++
Используя шифр четырех квадратов, зашифровать слово programmer
C++ Одномерные массивы. Алгоритмы поиска и сортировки. http://www.cyberforum.ru/cpp-beginners/thread168022.html
Создать массив на 10 элементов!!! Найти наибольшее отрицательное число среди элементов с четными индексами.
C++ Вычисление выражения в C++ Дано натуральное число n. Посчитать (1+1/(1^2))*(1+1/(2^2))*(1+1/(2^2))*...*(1+1/(n^2)) использовать FOR помогите. Подкинте идеи Дубляж тем запрещен правилами форума (п. 3.4). Не плодите одинаковых тем! подробнее

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

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

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();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 17:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru