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

Ввести класс для работы с объектом "множество целых чисел" - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Выделить в строке s1 все слова,начинающиеся с гласной буквы http://www.cyberforum.ru/cpp-beginners/thread861299.html
5)Примечание: СЛОВО-это группа символов не содержащих пробелов ПРЕДЛОЖЕНИЕ-это совокупность слов,разделенных пробелом и заканчивающаяся точкой ТЕКСТ-группа предложений сама задача 5): Выделить в строке s1 все слова,начинающиеся с гласной буквы,а в строке s2-все слова,начинающиеся с согласной буквы.Образовать строку s3,состоящую из выделенных слов обеих строк
C++ Напечатать все слова, получающиеся в результате перестановки букв данной строки Привет!:) Помогите решить :-[ Дана строка символов. Составить программу, которая печатает все различные слова, получающиеся в результате перестановки букв данной строки. Спасибо! :kissing: http://www.cyberforum.ru/cpp-beginners/thread861294.html
С++ блок-схема C++
Добрый день. Помогите, пожалуйста нарисовать блок-схему к программе #include <iostream> #include <iomanip> #include <ctime> #include <cmath> #include <conio.h> using namespace std; int main()
Сортировка вставкой в список C++
Выполнить сортировку одномерного массива X(100) методом вставки в список.
C++ Работа с текстом input.txt (Каждую 80-байтную строку заданного в файле input.txt текста отцентрировать) http://www.cyberforum.ru/cpp-beginners/thread861280.html
Каждую 80-байтную строку заданного в файле input.txt текста отцентрировать, т.е. обеспечить осевую симметрию текста на экране добавлением пробелов слева. Добавлено через 9 часов 4 минуты Может кто поможет?(( Не могу понять как это сделать( А уже сдавать нужно
C++ Нужно написать программу - Построить последовательность чисел Фибоначчи Люди помогите пожалуйста!!! Построить последовательность чисел Фибоначчи из 20 элементов. Выбрать 7 последних чисел из этой последовательности и построить для них все возможные перестановки. подробнее

Показать сообщение отдельно
anmartex
...
1703 / 1196 / 496
Регистрация: 12.02.2013
Сообщений: 1,978
11.05.2013, 13:32
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
#include <iostream>
 
class TSet
{
   protected:
      int* data;
      size_t size;
      size_t count;
 
   protected:
      void Resize(size_t newsize)
      {
         int* newdata = new int[newsize];
 
         if (data)
         {
            size_t minsize = (size < newsize) ? size : newsize;
 
            for (size_t i = 0; i < minsize; ++i)
            {
               newdata[i] = data[i];
            }
            delete[] data;
         }
 
         data = newdata;
         size = newsize;
      }
 
   public:
      TSet(): data(NULL), size(0), count(0)
      {
         Resize(1);
      }
 
      TSet(const TSet& set): data(NULL), size(0), count(0)
      {
         Resize(set.size);
 
         for (; count < set.count; ++count)
         {
            data[count] = set.data[count];
         }
      }
 
      ~TSet()
      {
         delete[] data;
      }
 
      bool IsIncluded(int value) const
      {
         for (size_t i = 0; i < count; ++i)
         {
            if (data[i] == value)
            {
               return true;
            }
         }
 
         return false;
      }
 
      TSet& Insert(int value)
      {
 
         if (!IsIncluded(value))
         {
            if (size == count)
            {
               Resize(size * 2);
            }
 
            data[count++] = value;
         }
 
         return *this;
      }
 
      // TODO: если C++11, то лучше TSet&&
      TSet Intersection(const TSet& set)
      {
         TSet newset;
 
         for (size_t i = 0; i < count; ++i)
         {
            if (set.IsIncluded(data[i]))
            {
               newset += data[i];
            }
         }
 
         return newset;
      }
 
      TSet& operator += (int value)
      {
         return Insert(value);
      }
 
      TSet operator * (const TSet& set)
      {
         return Intersection(set);
      }
 
      friend std::ostream& operator << (std::ostream& os, const TSet& set)
      {
         for (size_t i = 0; i < set.count; ++i)
         {
            os << set.data[i] << " ";
         }
         return os;
      }
};
 
int main()
{
   TSet set1, set2;
   set1 += 1;
   set1 += 1;
   set1 += 2;
   set1 += 4;
   set1 += 5;
 
   set2 += 1;
   set2 += 2;
   set2 += 3;
   set2 += 4;
   set2 += 5;
   set2 += 5;
   set2 += 6;
 
   std::cout << "set1: " << set1 << std::endl;
   std::cout << "set2: " << set2 << std::endl;
   std::cout << "set1 * set2: " << (set1 * set2) << std::endl;
 
   return 0;
}
Название: tmp.png
Просмотров: 261

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