Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сложить два длинных числа Есть класс Decimal который наследует виртуальную функцию сложения массивов от базового класса. В классе есть массив типа unsigned char. Необходимо сложить эти два массива. Задача на подобии сложения двух длинных чисел. Перепробовал уже много арифметики длинных чисел но после сложения он мне в качестве результата постоянно выводит чертовы смайлики на местах где должны быть цифры. Складывает коды... https://www.cyberforum.ru/ cpp-beginners/ thread2312082.html Реализовать класс "курсор", используя конструкторы, перегрузку операций и обработку исключений C++
Написал код, тут реализован класс "курсор" где указаны манипуляции с разными его параметрами. Сказали теперь выполнить это с конструкторами, перегрузкой операций и обработкой исключений. (и попросили сделать с разделением в CB, в прочем, как и сделал) Вопрос собственно в том, что: 1) Выполнить с конструкторами, можно просто запилить в public: для примера конструктор в котором очистим строку...
C++ Взаимодействие с внешним браузером Мне надо сделать программу, работающую с социальной сетью ВК через ее официальный API. Почти вся работа связана с прямой отправкой запросов и таким же прямым получением ответов (с этим хорошо справляется библиотека для curl). Ох уже это "почти"... Авторизация по нужной мне схеме (с возможностью получения нужных прав доступа) производится через браузер. Если кратко, следует открыть окно... https://www.cyberforum.ru/ cpp-beginners/ thread2312060.html C++ Неправильная последовательность ввода/вывода в консоли https://www.cyberforum.ru/ cpp-beginners/ thread2312039.html
Ввод информации о первом студенте правильно работает, а дальше уже нет. Это не мой код и мне сложно в нём разобраться и найти ошибку. Поэтому очень нуждаюсь в вашей помощи. #include "stdafx.h" #include <iostream> #include <string.h> #include <stdio.h>; using namespace std; void main()
Что такое "нуль-символ" применительно к строке? C++
Я смотрел что делает функция ~strlen(имя_файла)~. Ей дали такое определение:"Определяет длину указанной строки, без учета нуль-символа". Я не понял, что имеется ввиду под "нуль-символом", и прошу, скиньте пример кода с использованием этой функции, где этот "нуль-символ" влияет на эту самую функцию.
C++ Все нечетные строки матрицы сдвинуть циклически на К элементов влево https://www.cyberforum.ru/ cpp-beginners/ thread2312029.html
Привет! Нужна помощь. Используя функции сформировать с помощью ДСЧ двумерный массив и вывести его на печать. Все нечетные строки матрицы сдвинуть циклически на К элементов влево.
C++ Зачем в условии цикла for минус единица? https://www.cyberforum.ru/ cpp-beginners/ thread2312017.html
Всем привет. Вообщем меня озадачила 1 задача где используется итераторы. Я с ней справился. Но написал одну вещь которую сам не могу понять(помогли с ней) Вот код: #include <iostream> #include <string> #include <cstdlib> #include <vector> #include <iterator>
C++ Записать в файл все простые числа в указанном диапазоне в столбик
Пользователь задаёт диапазон чисел и имя файла. Программа записывает в файл все простые числа в указанном диапазоне в столбик.
C++ Записать в файл все найденные слова https://www.cyberforum.ru/ cpp-beginners/ thread2312015.html
Пользователь вводит 2 имени файла. В первом файле находится просто текст. Во второй файл программа в столбик запишет все найденные в первом файле слова
C++ Как сделать DLL прослойку Имеется экзешник, который работает с libcef.dll старой версии. Мне нужно чтобы он работал с dll новой версии. Если я подсовываю ему libcef.dll новой версии то он ругается на отсутствие точки входа "cef_browser_create". cef_browser_create - это функция , неким аналогом которой (по моему возможно ошибочному мнению) является функция cef_browser_host_create_browser_sync из новой dll. ... https://www.cyberforum.ru/ cpp-beginners/ thread2312012.html
C++ Перегрузка оператора постфиксального инкремента, чтобы он обрабатывался в выражении корректно
Подскажите, можно ли решить проблему, приводящую к выполнению инструкции вывода строки "WTF?" в коде? Как перегрузить оператор "++" для класса Int, чтобы при использовании его в выражении для объекта данного класса, выражение обрабатывалось бы так же, как аналогичное для переменной встроенного типа? Вот код: #include <iostream> class Int {
C++ Разбить файл на заданное количество частей #include <iostream> #include <fstream> #include <iomanip> #include <cstdlib> #include <string> using namespace std; int main() { char pat; https://www.cyberforum.ru/ cpp-beginners/ thread2311980.html
26 / 23 / 12
Регистрация: 25.06.2018
Сообщений: 91
19.08.2018, 21:12 0

Создать класс «Квартира», в котором список комнат реализовать как односвязный список - C++ - Ответ 12849333

19.08.2018, 21:12. Показов 2883. Ответов 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
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
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
//------------------------------------------------------------------------------
struct info // структура
{
      bool  proxod; // true - проходная
      float ploshad;
      info *next;   // указатель на следующий элемент
      info(bool prh, float pls)
         : proxod(prh)
         , ploshad(pls)
         , next(NULL)
      {
      }
};
//------------------------------------------------------------------------------
#define PROHODNAI    true
#define NEPROHODNAI  false
//------------------------------------------------------------------------------
class Kvart
{
   private:
               info*       _first; // первый элемент списка
   public:
      //------------------------------------------------------------------------
                           Kvart()
                              : _first(NULL)
                           {
                           }
      //------------------------------------------------------------------------
                           Kvart(bool     proxod,
                                 float    ploshad)
                              : _first(NULL)
                           {
                              addLast(proxod, ploshad);
                           }
      virtual             ~Kvart()
                           {
                              while(_first != NULL)
                              {
                                 info* tmp = _first->next;
                                 delete _first;
                                 _first = tmp;
                              }
                           }
      //------------------------------------------------------------------------
      // добавление комнаты в конец списка по указателю
      //------------------------------------------------------------------------
               void        addLast(info* room)
                           {
                              if(_first == NULL)
                              {
                                 _first = room;
                              }
                              else
                              {
                                 info* tmp = _first;
                                 while(tmp->next != NULL)
                                    tmp = tmp->next;
                                 tmp->next = room;
                              }
                           }
      //------------------------------------------------------------------------
      // добавление комнаты в конец списка
      //------------------------------------------------------------------------
               void        addLast(bool   proxod,
                                   float  ploshad)
                           {
                              addLast(new info(proxod, ploshad));
                           }
      //------------------------------------------------------------------------
      // добавление комнаты в начало списка
      //------------------------------------------------------------------------
               void        addFirst(info* room)
               {
                  room->next = _first;
                  _first = room;
               }
               void        addFirst(bool   proxod,
                                    float  ploshad)
                           {
                              addFirst(new info(proxod, ploshad));
                           }
      //------------------------------------------------------------------------
      // вывод всех элементов списка
      //------------------------------------------------------------------------
               void        print()
               {
                  float sum = 0.0;
                  int   no  = 0;
                  int   prohod = 0;
                  info* tmp = _first;
                  printf("----------------------------------------------------------------\n");
                  while(tmp != NULL)
                  {
                     printf("Комната № %d " , ++no);
                     if(tmp->proxod == true)
                     {
                        printf("проходная   ");
                        prohod++;
                     }
                     else
                        printf("непроходная ");
                     printf("площадь=%f\n", tmp->ploshad);
                     sum += tmp->ploshad;
                     tmp = tmp->next;
                  }
                  printf("----------------------------------------------------------------\n");
                  printf("Количество комнат %d (проходных %d, непроходных %d) общая площадь=%f\n",
                         no, prohod, no - prohod, sum);
                  printf("----------------------------------------------------------------\n");
               }
      //------------------------------------------------------------------------
      // удаление элемента по номеру
      //------------------------------------------------------------------------
               void        remove(int n)
                           {
                              if(n == 0)  // delete first element
                              {
                                 if(_first != NULL)
                                 {
                                    info* tmp = _first ->next;
                                    delete _first;
                                    _first = tmp;
                                 }
                              }
                              else
                              {
                                 info* tmp = _first;
                                 while(--n != 0 && tmp->next != NULL)
                                    tmp = tmp->next;
                                 if(tmp->next != NULL)
                                 {
                                    info* remN = tmp->next;
                                    tmp->next = remN->next;
                                    delete remN;
                                 }
                              }
                           }
      //------------------------------------------------------------------------
      // удаление элемента по номеру по указателю
      //------------------------------------------------------------------------
               void        remove(const info* room)
                           {
                              if(_first != NULL && room != NULL)
                              {
                                 if(room == _first)
                                 {
                                    _first = _first->next;
                                 }
                                 else
                                 {
                                    info* tmp = _first;
                                    while(tmp != NULL && tmp->next != room)
                                       tmp = tmp->next;
                                    if(tmp != NULL)
                                    {
                                       tmp->next = tmp->next->next;
                                       delete room;
                                    }
                                 }
                              }
                           }
      //------------------------------------------------------------------------
      // удаление последнего элемента 
      //------------------------------------------------------------------------
               void        removeLast()
                           {
                              if(_first != NULL)
                              {
                                 if(_first->next == NULL)
                                 {
                                    delete _first;
                                    _first = NULL;
                                 }
                                 else
                                 {
                                    info* tmp = _first;
                                    while(tmp->next->next != NULL)
                                       tmp = tmp->next;
                                    delete tmp->next;
                                    tmp->next = NULL;
                                 }
                              }
                           }
      //------------------------------------------------------------------------
      // удаление первого  элемента 
      //------------------------------------------------------------------------
               void        removeFirst()
                           {
                              if(_first != NULL)
                              {
                                 info* tmp = _first->next;
                                 delete _first;
                                 _first = tmp;
                              }
                           }
};


Вернуться к обсуждению:
Создать класс «Квартира», в котором список комнат реализовать как односвязный список C++
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.08.2018, 21:12
Готовые ответы и решения:

Реализовать класс Односвязный список строк
Помогите, пожалуйста, дописать код #include &lt;string&gt; using namespace std; // *Односвязный*...

Реализовать односвязный список, в котором бы логика обхода его элементов задавалась бы пользователем.
Реализовать односвязный список, в котором бы логика обхода его элементов задавалась бы...

Создать динамический шаблонный класс односвязный список - List
помогите пожалуйста с задание в универ задали и я вот сижу парюсь! буду очень вам благодарен...

Создать двусвязный список групп факультета, где каждая группа представляет собой односвязный список студентов
Задание: создайте двусвязный список групп факультета. Каждая группа представляет собой односвязный...

2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.08.2018, 21:12
Помогаю со студенческими работами здесь

Задали односвязный линейный список с целыми числами. Создать новый список, который содержит элементы заданного списка в обратном порядке
Задали односвязный линейный список с целыми числами. Создать новый список, который содержит...

Создать базовый класс «Список» и класс-потомок «Упорядоченный список»
Создать базовый класс «список», определив в нем функции добавления в начало списка, удаления N-го...

Создать базовый класс список и реализовать на его основе стек и очередь
2. Создать базовый класс список. Реализовать на базе списка стек и очередь с виртуальными...

Класс: односвязный список
Добрый день, необходимо реализовать класс односвязного списка с проверкой и выводом в консоль. ...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru