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

Двумерный двусвязанный список - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Однонаправленный список http://www.cyberforum.ru/cpp-beginners/thread618001.html
Доброго времени суток! Помогите поправить программу(Однонаправленный список, удалить все положительные элементы кроме последнего). Надеюсь на вашу помощь. #include <iostream.h> #include <conio.h> #define N 4 struct List { int data; List* next;}; List *root,*q,*p;
C++ wxDev-C++ непонятно Я скачал себе wxDev-C++, мне очень очень понравилась эта IDE. Вопросов правда несколько. Я раньше учился писать в консольных приложениях и с визуальными никогда не работал. Не знаю как реализовывать события, как толком работать с формами и так далее. Книги по wxDev-C++ не нашел, по этому хочу у вас спросить как лучше на нем научиться программировать и можно ли на нем написать толковую программу?... http://www.cyberforum.ru/cpp-beginners/thread617984.html
Генеалогическое дерево» C++
Создать приложение «Генеалогическое дерево». Паспортные данные членов некоторого родового клана; ссылки на детей ( или на родителей). Поиск всех потомков или всех предков для указанного лица, возможность редактирования, добавления, удаления. Графическое изображение дерева. Есть какие либо соображения ?
Массив и кое-что ещё C++
Доброго дня. Не объясните мне пожалуйста что значит этот код? Здесь x задан макросом #define IX(i,j) ((i)+(N+2)*(j)) В частности что значит знак вопроса и двоеточие? for ( i=1 ; i<=N ; i++ ) { x = b==1 ? -x : x; x = b==1 ? -x : x; x = b==2 ? -x : x; x = b==2 ? -x : x; }
C++ Запрет ввода любых символов кроме цифр в консоли http://www.cyberforum.ru/cpp-beginners/thread617974.html
Ребята подскажите пожалуйста можно ли как-то разрешать ввод в консоль только цифр. Я делаю проверку или с помощью isdigit() или через условие, но даже если это не цифра ,введёный символ появляется в консоли. А как сделать чтобы в случае если символ не цифра он не учитывался и не выводился в консоль???
C++ 2х мерные массивы Скажите пожалуйста ПОЧЕМУ равны данные "адресса" есть массив a а в нем a+2=*(a+2) Как это? подробнее

Показать сообщение отдельно
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
02.07.2012, 19:01     Двумерный двусвязанный список
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
#include <iostream>
#include <cstdlib>
 
struct list2d
{
    list2d *next, *prev, *down;
    int data;
 
    list2d() : next(), prev(), down(), data()
    {
    }
};
 
void print_list2d(struct list2d* head)
{
    struct list2d *current_row = head, *current_cell = NULL;
    while (current_row)
    {
        current_cell = current_row;
        while (current_cell)
        {
            std::cout << current_cell->data << " ";
            current_cell = current_cell->next;
        }
        std::cout << std::endl;
        current_row = current_row->down;
    }
}
 
void delete_list2d(struct list2d* head)
{
    struct list2d *current_row = head, *current_cell = NULL, *to_delete;
    while (current_row)
    {
        current_cell = current_row->next;
        while (current_cell)
        {
            to_delete = current_cell;
            current_cell = current_cell->next;
            delete to_delete;
        }
        to_delete = current_row;
        current_row = current_row->down;
        delete to_delete;
    }
}
 
int main()
{
    unsigned int size;
    
    std::cout << "Enter a matrix size: " << std::endl;
    std::cin >> size;
    
    std::cout << "Etner a matrix: " << std::endl;
    struct list2d* current_row = NULL, *head = new struct list2d();
    current_row = head;
    
    for (unsigned int i = 0; i < size; ++i)
    {
        struct list2d *current_cell = current_row;
        for (unsigned int j = 0; j < size; ++j)
        {
            std::cin >> current_cell->data;
            if (j != size - 1)
            {
                current_cell->next = new struct list2d();
                current_cell->next->prev = current_cell;
                current_cell = current_cell->next;
            }
        }
        
        if (i != size - 1)
        {
            current_row->down = new struct list2d();
            current_row = current_row->down;
        }
    }
    
    print_list2d(head);
    delete_list2d(head);
    
    system("Pause");
    return EXIT_SUCCESS;
}
 
Текущее время: 20:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru