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

Добавление элемента в список с проверкой уникальности - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ссылка на двумерный массив http://www.cyberforum.ru/cpp-beginners/thread1097228.html
Здравствуйте. Объясните досконально это выражение: int (&ref1);
C++ Логарифмы и не объявленные идентификаторы - найти ошибку в коде #include <iostream> #include <conio.h> #include <math.h> void main() { float x,y; // объявление переменных http://www.cyberforum.ru/cpp-beginners/thread1097219.html
Установка wxWidgets3.0 в Code Blocks C++
Привет, помогите пожалуйста установить wxWidgets3.0 в Code Blocks, а то сил уже никаких нету( как его туда запихать ?
Посимвольно считать текст из файла и распределить сколько каких символов в тексте C++
Решал задачу. Суть в том, что нужно взять текст из .txt файла. посимвольно считать и распределить сколько каких символов в тексте(по таблице ascii, но столкнулся с проблемкой: объявил два массива(один просто последовательный набор чисел 1...255, а второй массив счетчик символов). проблема в том, что при заполнении первого массива первый символ второго массива такой же как и последний первого) а...
C++ Стеки и очередь http://www.cyberforum.ru/cpp-beginners/thread1097161.html
Объясните пожалуйста что такое стек и очередь.И не могли вы написать программу с объяснением,где допустим задается стек из 10 элементов в цикле и с выводом,также и с очередью.Я как понял в стеке должно на экран вывести 9876543210.
C++ Линковка wxWidgets3.0 в Code Blocks Привет, как правильно установить wxWidgets3.0 для Code Blocks ? я скачал файл, wxPack_v3.0.00.03.exe, установил wxWidgets3.0 по пути: D:\Proga\wxWidgets3.0 В Code Blocks когда я выбрал проект с wxWidgets я указал путь к wxWidgets Но при компиляции проекта мне видает ошибку линковки: ||=== Build: Release in Binder (compiler: GNU GCC Compiler) ===| ld.exe||cannot find -lwxmsw30u_core|... подробнее

Показать сообщение отдельно
Yark0s
0 / 0 / 0
Регистрация: 18.12.2013
Сообщений: 37

Добавление элемента в список с проверкой уникальности - C++

15.02.2014, 16:20. Просмотров 469. Ответов 3
Метки (Все метки)

Всем привет! И сразу же к сути - не могу разобраться с добавлением элемента в список, но так что бы он не повторялся и был на своему мести, например мы добавили 7, в список 1 3 5 6 9, результат 1 3 5 6 7 9!
Вот код программы:
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
//---------------------------------------------------------------------------
#include <clx.h>
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
using namespace std;
struct Element
{
   char data;
   Element * Next;
};
// Односвязный список
class List
{
   Element * Head;
   Element * Tail;
   int Count;
 
public:
   List();
   ~List();
   // Добавление элемента в список
   // (Новый элемент становится последним)
   void Add(char data);
   // Удаление элемента списка
   // (Удаляется головной элемент)
   void Del();
   // Удаление всего списка
   void DelAll();
   // Распечатка содержимого списка
   // (Распечатка начинается с головного элемента)
   void Print();
   // Получение количества элементов, находящихся в списке
   int GetCount();
};
 
List::List()
{
   // Изначально список пуст
   Head = Tail = NULL;
   Count = 0;
}
 
List::~List()
{
   DelAll();
}
 
int List::GetCount()
{
   return Count;
}
 
void List::Add(char data)
{   // создание нового элемента
   Element * temp = new Element;
   // заполнение данными
   temp->data = data;
   // следующий элемент отсутствует
   temp->Next = NULL;
   // новый элемент становится последним элементом списка
   // если он не первый добавленный
   if(Head!=NULL){
 Tail->Next=temp;
 Tail = temp;
   }
   else{
   Head=Tail=temp;
   }
}
 
void List::Del()
{
   Element * temp = Head;
   Head = Head->Next;
   delete temp;
}
 
void List::DelAll()
{
   while(Head != 0)
      Del();
}
 
void List::Print()
{
   Element * temp = Head;
   while(temp != 0)
   {
      cout << temp->data << " ";
      temp = temp->Next;
   }
   cout << "\n\n";
}
void main()
{
   // Создаем объект класса List
   List lst;
   char s[] = "12469\n";
   cout << s << "\n\n";
   int len = strlen(s);
   for(int i = 0; i < len; i++)
     lst.Add(s[i]);
   lst.Print();
//   lst.Del();
//   lst.Print();
   getch();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru