Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
kirkl
0 / 0 / 0
Регистрация: 19.11.2011
Сообщений: 8
#1

Прокомментируйте код работы со списком - C++

06.06.2012, 20:51. Просмотров 396. Ответов 1
Метки нет (Все метки)

прокомментируйте пожалуйста буквально каждую строчку.
Сформировать двунаправленный список.Добавить в него элемент с заданным номером.Написать функций для создания списка , печати, добавления элемента, функцию main()
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 <iostream>
 
using namespace std;
 
struct list_t
{
    list_t* next;
    list_t* prev;
    int data;
};
 
list_t* list_create(unsigned n)
{
    list_t* root = NULL;
    list_t* prev = NULL;
    
    while(n--)
    {
        list_t* tmp = new list_t;
        cout << ">"; cin >> tmp->data;
        tmp->next = NULL;
 
        if(root)
        {
            tmp->prev = prev;
            prev->next = tmp;
        }
        else
        {
            root = tmp;
            tmp->prev = NULL;
        }
 
        prev = tmp;
    }
 
    return root;
}
 
void list_print(list_t* root)
{
    while(root)
    {
        cout << root->data << endl;
        root = root->next;
    }
}
 
list_t* list_insert(list_t* root, unsigned pos)
{
    list_t* item = root;
 
    while(pos && item->next)
    {
        item = item->next;
        --pos;
    }
    list_t* new_item = new list_t;
    cout << ">"; cin >> new_item->data;
    new_item->next = item;
    
    if(pos>0 && !item->next)
    {
        item->next = new_item;
        new_item->prev = item;
        new_item->next = NULL;
 
        return root;
    }
 
    if(item->prev)
    {
        new_item->prev = item->prev;
        item->prev->next = new_item;
        item->prev = new_item;
    }
    else
    {
        item->prev = new_item;
        new_item->prev = NULL;
        root = new_item;
    }
    return root;
}
 
int main()
{
        int k = 0; cout << "k="; cin >> k;
    list_t* t = list_create(k);
    list_print(t);
    cout << "n="; int n; cin >> n;
    t = list_insert(t,n);
    list_print(t);
 
    system("pause");
    return 0;
}
и вот эту если можно.
(Написать функцию для удаления столбца с номером К из динамической матрицы,содержащей целые числа)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
int** delete_column(int** matrix,unsigned m,unsigned n,unsigned k)
{
    if(k >= n) return matrix;
 
    int** new_m = new int*[m];
    for(int i = 0; i < m; i++)
    {
        new_m[i] = new int[n-1];
        for(int j = 0, new_j = 0; j < n; j++)
        {
            if(j != k)
            {
                new_m[i][new_j] = matrix[i][j];
                new_j++;
            }
            
        }
        delete [] matrix[i];
    }
    
    delete [] matrix;
    return new_m;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.06.2012, 20:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Прокомментируйте код работы со списком (C++):

Прокомментируйте код - C++
#include &lt;iostream&gt; class Teacher { public : Teacher() : name_(), surname_(), patronymic_(), subject_() {} ...

Прокомментируйте код - C++
// Лесик.cpp : Defines the entry point for the console application. // #include &quot;stdafx.h&quot; #include&lt;iostream&gt; #include&lt;math.h&gt; ...

Прокомментируйте код - C++
здравствуйте. помогите пожалуйста, нужны комментарии в двух функциях) код не я писал поэтому затрудняюсь и мне нужно понять каждую строчку,...

Прокомментируйте код - C++
Нашел на просторах код который сравнивает строки с маской: match(&quot;превид&quot;,&quot;пр*в*т&quot;); // true Как я понял, мы игнорируем символы если...

Прокомментируйте код - C++
//FACTORIAL.CPP #include &lt;iostream&gt; #include &lt;time.h&gt; #include &lt;windows.h&gt; #include &lt;math.h&gt; #include...

Прокомментируйте код - C++
//--------------------------------------------------------------------------- #pragma hdrstop #include &lt;iostream&gt; #include...

1
Van111
209 / 188 / 4
Регистрация: 03.08.2011
Сообщений: 2,598
Записей в блоге: 12
06.06.2012, 21:04 #2
а что мешало сделать шаблон класса?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.06.2012, 21:04
Привет! Вот еще темы с ответами:

Прокомментируйте код - C++
#include &lt;iostream&gt; using namespace std; void PrintBit(unsigned a); int main() { int x, y, m, n;

Прокомментируйте код. - C++
Программа записывает количество учеников по классам. И самих учеников. Изменяет данные учеников. И осуществляет доступ к информации о...

Прокомментируйте код - C++
if(m == 'a') karp++; if(m == ' ') rev=1; if (rev!=1) cout&lt;&lt;m&lt;&lt;&quot;\n&quot;; Можете каждую строчку...

Прокомментируйте приведенный код - C++
# include&lt;iostream&gt; # include&lt;conio.h&gt; # include&lt;string&gt; # include&lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;cstring&gt; using...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.