9 / 7 / 2
Регистрация: 26.12.2018
Сообщений: 274
1

Списки с++(создание проектов)

02.04.2019, 16:50. Показов 291. Ответов 1

Здравствуйте, подскажите пожалуйста, что говорит данный фрагмент кода.
Весь код:
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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
#include "stdafx.h"
 
#include "List.h"
 
#include <iostream>
 
using namespace std;
 
struct Person
 
{
 
*** *char name[20];
 
*** *int age;
 
*** *Person *next;
 
};
 
Object L2 = Create(); **********// создать список L2
 
 
void print(void* b) ******//Функция используется при выводе 
 
{
 
*** Person *a = (Person*)b;
 
*** cout << a->name << " *" << a->age << endl;
 
}
 
 
int _tmain(int argc, _TCHAR* argv[])
 
{
 
*** setlocale(LC_ALL, "Russian");
 
*** Person a1 = { "Петров", 20 }; *****
 
*** Person a2 = { "Сидоров", 25 };
 
*** Person a3 = { "Гончаров", 47 }; *
 
*** Person a4 = { "Орлов", 24 }; *
 
*** Person a5 = { "Бунич", *55 };
 
*** Person* aa;
 
*** bool rc;
 
*** Object L1 = Create(); **// создать список L1
 
*** rc = L1.Insert(&a1); ****// = true
 
*** rc = L1.Insert(&a2); ****// = true 
 
*** rc = L1.Insert(&a3); ****// = true 
 
*** rc = L1.Insert(&a4); ****// = true *
 
*** L1.Insert(&a5); **
 
*** L1.Insert(&a5); 
 
*** L1.Insert(&a4);
 
*** L1.PrintList(print); 
 
*** cout << "----------------------------" << endl;
 
*** Object L5 = Create(); ***// создать список L5
 
*** rc = L5.Insert(&a1); *****
 
*** rc = L5.Insert(&a2);
 
*** rc = L5.Insert(&a3); ****
 
*** rc = L5.Insert(&a4); ****// = true ***********
 
*** L1.Insert(&a5); 
 
*** L1.Insert(&a5);
 
*** L1.Insert(&a5); *
 
*** L1.Insert(&a5);*** 
 
*** L1.Insert(&a5);
 
*** Element* e = L1.GetLast();
 
*** while (e != NULL) *******// 1...4
 
*** {
 
*** *** aa = (Person*)e->Data; **
 
*** *** e = e->GetPrev();
 
*** };
 
*** e = L1.Search(&a3);
 
*** aa = (Person*)e->Data;
 
*** cout << "Найден элемент= " << aa->name << endl;
 
*** if (e != NULL) *
 
*** *** aa = (Person*)e->Data;
 
*** e = L1.Search(&a5);
 
*** if (e != NULL) *
 
*** *** aa = (Person*)e->Data;
 
*** rc = L1.Delete(&a5); ****// = false 
 
*** rc = L1.Delete(&a3); ****// = true 
 
*** rc = L2.Insert(&a1);
 
*** rc = L2.Insert(&a2);
 
*** rc = L2.Insert(&a3);
 
*** L2.PrintList(print);
 
*** Element *a = L2.GetFirst();
 
*** L2.PrintList(print);
 
*** return 0;
 
}
1)
Вот тут не понимаю, подпишите комментарии, если не сложно.
C++
1
2
3
4
5
6
7
8
9
void print(void* b) ******//Функция используется при выводе 
 
{
 
*** Person *a = (Person*)b;
 
*** cout << a->name << " *" << a->age << endl;
 
}

2)и вот тут вот не понимаю
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
Element* e = L1.GetLast();
 
*** while (e != NULL) *******// 1...4
 
*** {
 
*** *** aa = (Person*)e->Data; **
 
*** *** e = e->GetPrev();
 
*** };
 
*** e = L1.Search(&a3);
 
*** aa = (Person*)e->Data;
 
*** cout << "Найден элемент= " << aa->name << endl;
 
*** if (e != NULL) *
 
*** *** aa = (Person*)e->Data;
 
*** e = L1.Search(&a5);
 
*** if (e != NULL) *
 
*** *** aa = (Person*)e->Data;
 
*** rc = L1.Delete(&a5); ****// = false 
 
*** rc = L1.Delete(&a3); ****// = true 
 
*** rc = L2.Insert(&a1);
 
*** rc = L2.Insert(&a2);
 
*** rc = L2.Insert(&a3);
 
*** L2.PrintList(print);
 
*** Element *a = L2.GetFirst();
 
*** L2.PrintList(print);
Помогите плиз, люди добрые

Добавлено через 7 минут
Блин, скопировалось криво... Добавил ***....
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.04.2019, 16:50
Ответы с готовыми решениями:

Создание программых проектов
Пишу проект - работа со структурой(добавление новой строки, удаление и т.д) Вот описал саму...

создание проектов
Здравствуйте. Подниму очень интересный вопрос. Освоясь немного в php делал пару заказов и заметил,...

Создание простых проектов
1)Вычислить значение корень из (2 + корень из двух и так далее. Всего n корней. 2)В доме может...

Создание проектов на C и C++ в Code::Blocks
Несколько удивляет, что в темах по кроссплатформенной разработке (якобы) нет такой отдельной темы...

1
129 / 69 / 25
Регистрация: 20.03.2014
Сообщений: 261
02.04.2019, 16:52 2
Цитата Сообщение от Anton006 Посмотреть сообщение
1)
Вот тут не понимаю, подпишите комментарии, если не сложно.
Нетепизированный указатель приводят к указателю на требуемый тип.

Цитата Сообщение от Anton006 Посмотреть сообщение
2)и вот тут вот не понимаю
Тут цикл для того что бы получить указатель на первый объект в связанном списке. Но зачем это делается непонятно так как ниже сразу же эти переменные затираются новыми значениями.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.04.2019, 16:52

Создание NuGet из нескольких проектов
Здравствуйте. Подскажите, у меня есть несколько решений(библиотеки классов) .net framework. Как из...

Создание проектов с использованием кнопочных компонентов
Даны вещественные числа a1,a2,...a30. Требуется возвести в квадрат все отрицательные члены...

Создание отчуждаемых проектов в MS Visual Studio 2010
Добрый день! Задача: создать полностью отчуждаемый проект (полноценное приложение с элементами...

Создание меню для открытия других проектов
Привет! Как создать меню которое будет открывать другие проекты? Спасибо за внимание.


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

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

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