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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Перемещение элементов массива http://www.cyberforum.ru/cpp-beginners/thread598403.html
Переместить однозначные числа в конец массива. При этом порядок следования чисел в группах (однозначные, двухзначные) не должен изменяться.
C++ Переведите код на pascal с C++ Переведите код на pascal с C++ #include <iostream> #include <conio.h> using namespace std; //------------------------------------------------------------------------------ struct Tspisok http://www.cyberforum.ru/cpp-beginners/thread598388.html
числовая таблица C++
Люди добрые помогите еще разок. Я токо начинаю заниматься программированием поэтому трудно ваще что то делать, только самое элементарное (( для вас это ведь легко. Могу заплатить. P.S Интерфейс программы должен содержать несколько окон. Программа должна быть выполнена не в консольном режиме. Составить игровую программу «Фокус». Программа выводит на экран числовую таблицу, предлагает...
Как исправить ошибку с перегруженным оператором C++
Добрый вечер! суть задания: Необходимо реализовать класс, который умеет хранить данные произвольных типов (int, char, любой другой объект класса - TComplex и CooperBy). error C2593: неоднозначный 'operator <<' выдает в главной ф-ции там, где написано cout объясните пожалуйста в чем ошибка? как нужно?как избежать этого? template <class T> //структура элемента стека struct elem ...
C++ Как возможно реализовать функцию кратных пробелов http://www.cyberforum.ru/cpp-beginners/thread598341.html
Как возможно реализовать такую функцию: Надо поверять каждый кратный 4 элемент строки на пробел, и заменять его на табуляцию, и если предыдущие до этого элемента в строке были пробелы , то и их в месте с ним(элементом кратным 4)заменить на табуляцию Должно получиться так 000' '0' '' '00' '' '' 'до замены 000\t0' '' '0\t после замены 0-символ ' ' пробел \t табуляция ПОМОГИТЕ КТО ЗНАЕТ....
C++ Уменьшить программу/снизить количество операторов В этой программе описан динамический массив, который сортирует числа по возрастанию. Можно ли как-нибудь уменьшить программу? #include <iostream> #include <conio.h> #include <stdlib.h> using namespace std; class Sort { private: подробнее

Показать сообщение отдельно
kirkl
0 / 0 / 0
Регистрация: 19.11.2011
Сообщений: 8
06.06.2012, 20:51     Прокомментируйте код работы со списком
прокомментируйте пожалуйста буквально каждую строчку.
Сформировать двунаправленный список.Добавить в него элемент с заданным номером.Написать функций для создания списка , печати, добавления элемента, функцию 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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru