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

непонятка в связном списке - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Создание ms word файла (*.doc) из c++ http://www.cyberforum.ru/cpp-beginners/thread1098818.html
Как создать документ MS Word средствами с++? Там будет только текстовая часть и таблица с данными.
C++ Вычислить количество элементов массива, лежащих в диапазоне от А до В Добрый вечер, дорогие друзья. Прошу у вас помощи с программой: Методические указания Ввод и вывод массива, а также три пункта задания оформить в виде функций, глобальные переменные не использовать. Размерности массивов вводить в основной функции. Первый массив описать статически (размерность задать константой), второй динамически Все результаты данных функций выводятся в основной функции. ... http://www.cyberforum.ru/cpp-beginners/thread1098812.html
Ошибки при компилировании C++
ребята, подскажите что за чепуха
Цифра в степени C++
Нужна помощь в создании программы которая найдет цифру в заданной степени без pow(). Я запутался создавая эту программу через циклы. Поможете?
C++ Строка, замена гласных http://www.cyberforum.ru/cpp-beginners/thread1098791.html
сделал программу чтобы заменяло все гласные на 3 а преподаватель усложнил задачу и надо заменить на 33 и с тем проблема два числа писать не хочет помогите бидь Пожалуйста #include <iostream.h> int main(){ char arr; cout << "\nDo enter any string but no more then "
C++ Поиск слова на экране Хочу написать программу, которая будет на экране находить слово (в текстовом формате) и выводить координаты его нахождения по осям Х У в текстовый редактор. Возможно ли это сделать? Если да, то может подскажете, где взять подобный код? Мои многочисленные попытки найти его, увенчались ничем. подробнее

Показать сообщение отдельно
dzrkot
zzzZZZ...
 Аватар для dzrkot
516 / 346 / 53
Регистрация: 11.09.2013
Сообщений: 1,977
17.02.2014, 17:26  [ТС]     непонятка в связном списке

Не по теме:

Цитата Сообщение от Croessmah Посмотреть сообщение
что это делает в public?
ну можно в приват кинуть... я то немного не тем занимаюсь - пытаюсь сам механизм работы со списками понять, сейчас сделал добавление элементов в список по индексу со сдвигом, вроде работает, значит что-то да понимаю


мб кому пргодится
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
#include <iostream>
#include <cstring>
using namespace std;
 
class list{
    struct node
    {
    string name;
    node* next;
    node* last;
    int index=0;
    };
node* head=0;
node* tail=0;
public:
    list (const string& str)
    {
    head = new node;
    head->name=str;
    head->index=1;
    head->next=0;
    }
    list()
    {
    head = new node;
    head->name="noname";
    head->index=1;
    head->next=0;
    }
 
void add(const string& str)
    {
    node *temp=new node;
    temp->next=head;
    temp->name=str;
    temp->index=head->index+1;
    head=temp;
    }
 
    ~list()
    {
        while(head!=0)
        {
        node* temp=head->next;
        delete head;
        head=temp;
        }
    }
    void show()
    {
        node* t=head;
        while(head!=0)
        {
        cout<<"index:"<<head->index<<endl;
        cout<<"name:"<<head->name<<endl;
        head=head->next;
        }
        head=t;
    }
void addStruct(int i)
{
    node* temp=head;
    bool flag=true;
    while(head!=0)
    {
        if (head->index==i)
        {
        flag=false;
        string str;
        cout<<"\nEnter new name:";
        cin>>str;
        node* last=head->next;
        node* newNode=new node;
        newNode->name=str;
        newNode->index=head->index++;
        head->next=newNode;
        newNode->next=last;
        break;
        }
            if (flag)
    head->index++;
    head=head->next;
    }
head=temp;
 
}
 
    void showOne(int i)
    {
        node* t=head;
        while(head!=0)
        {
            if (head->index==i)
            {
            cout<<"ShowOne:\nindex:"<<head->index<<endl;
            cout<<"name:"<<head->name<<endl;
            }
        head=head->next;
        }
        head=t;
    }
 
};
int main()
{
string str;
list a;
for (int i=0;i<4;i++)
    {
    cin>>str;
    a.add(str);
    }
    a.show();
    cout<<"--------\nenter index new elements of list:"<<endl;
int x;
cin>>x;
a.addStruct(x);
a.show();
}
 
Текущее время: 12:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru