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

Написать функции для включения, исключения и поиска элемента кругового списка с заголовком и без - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Какова причина исключения bad_alloc http://www.cyberforum.ru/cpp-beginners/thread1156180.html
При выделении памяти оператором new выскакивает исключение bad_alloc по какой причине оно может выпрыгивать ? Я выделяю достаточно много памяти много раз, это может как-то связано с нехваткой...
C++ Создать класс Ship, который будет содержать данные об учетном номере корабля и его координатах Создать класс Ship, который будет содержать данные об учетном номере корабля и его координатах. Для хранения координат используйте три поля: типа int для числа градусов, типа float для числа минут и... http://www.cyberforum.ru/cpp-beginners/thread1156147.html
Помогите найти ошибку при множественном наследовании C++
Помогите разобраться в наследовании Прилагаю код #include <iostream> using namespace std;
Построение матрицы смежности C++
Помогите, пожалуйста, нужна программа которая будет строить матрицу смежности. В качестве исходных данных служит таблица из номеров автономных систем(читается справа налево). Соседство двух номеров...
C++ Вывод содержимого вектора с наибольшим количеством строк http://www.cyberforum.ru/cpp-beginners/thread1156080.html
Ребят помогите с заданием: Считать все строки заданного входного файла в указанную структуру данных , сортируя строки при загрузке по первому символу. То есть все строки начинающиеся с буквы...
C++ Некорректно производятся вычисления Здраствуйте, немогу понять как написать код// nlab3.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" // подключение файла stdafx.h #include <iostream> //... подробнее

Показать сообщение отдельно
avatar1870
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 407
26.04.2014, 11:40  [ТС]
Можете подсказать, подойдёт такой код?

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
// lab_20_the_end.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include <stdlib.h>
using namespace std;
struct  Node
 {
   int x;
   Node *Next;
 };
 
 class List
 {
      Node *Head,*Tail; //Первый элемент и тот что последний
      int size; //Число элементов в списке
  public:
      List():Head(NULL),Tail(NULL),size(0){}; //Инициализация элементов в ноль с помощью конструктора
     ~List(); //Деструктор для освобождения памяти
      void Add(int x); //Функция добавления элементов в списов
      void Show(int size); //Функция отображения элементов списка
      int Count(); //Функция возвращающая число элементов в списке
};
 
List::~List()
 {
   while (size!=0) //Пока размерность списка не станет нулевой 
    {
     Node *temp=Head->Next;    
     delete Head; //Освобождаем память от активного элемента
     Head=temp; //Смена адреса начала на адрес следующего элемента
     size--; //Один элемент освобожден. корректируем число элементов
    }
 }
 
int List::Count()
 {
   return size; //Возвращаем число элементов списка
 }
 
void List::Add(int x)
{
 size++; //При каждом добавлении элемента увеличиваем число элементов в списке
 Node  *temp=new Node; //Выделение памяти для нового элемента списка
 temp->Next=Head; //Замыкание контура. Последний элемент - это начало списка 
 temp->x=x; //Записываем в выделенную ячейку памяти значение x 
 
if (Head!=NULL) //В том случае если список не пустой
 {
  Tail->Next=temp; //Запись данных в следующее за последним элементом поле
  Tail=temp; //Последний активный элемент=только что созданный.
 }
else Head=Tail=temp;//Если список пуст то создается первый элемент.
} 
 
void List::Show(int temp)
 {
    Node *tempHead=Head; //Указываем на голову
 
    temp=size; //Временная переменная равная числу элементов в списке
   while (temp!=0) //Пока не выполнен признак прохода по всему списку
    {
      cout<<tempHead-> x<<" "; //Очередной элемент списка на экран 
      tempHead=tempHead->Next; //Указываем, что нужен следующий элемент
      temp--; //Один элемент считан, значит осталось на один меньше 
    }
 }
 
void main()
{
 system("CLS");   
  List lst;
   lst.Add(100);
   lst.Add(200);
   lst.Add(300);
 
  lst.Show(lst.Count()); //Показываем список на экране.
 cout<<endl;
 system("PAUSE");
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru