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

прокомментируйте пожалуйста готовую программу - C++

Восстановить пароль Регистрация
 
kirkl
0 / 0 / 0
Регистрация: 19.11.2011
Сообщений: 8
07.06.2012, 13:35     прокомментируйте пожалуйста готовую программу #1
прокомментируйте пожалуйста буквально каждую строчку.
Сформировать двунаправленный список.Добавить в него элемент с заданным номером.Написать функций для создания списка , печати, добавления элемента, функцию main()
Код C++
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
 
#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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2012, 13:35     прокомментируйте пожалуйста готовую программу
Посмотрите здесь:

прокомментируйте пожалуйста программу на массивы. C++
прокомментируйте пожалуйста готовую программу C++
C++ прокомментируйте пожалуйста программу
C++ Уважаемые программисты прокомментируйте программу пожалуйста
Уважаемые программисты прокомментируйте программу пожалуйста C++
C++ Уважаемые программисты прокомментируйте программу пожалуйста
Уважаемые программисты прокомментируйте программу пожалуйста C++
C++ Прокомментируйте пожалуйста программу

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

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

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