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

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

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

Показать сообщение отдельно
avatar1870
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 401
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");
}
 
Текущее время: 00:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru