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

Шаблоны.Список - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ какая функция считает только цифры.ТЕМА: «Работа со строками в С++» http://www.cyberforum.ru/cpp-beginners/thread93751.html
Практическая работа №8 ТЕМА: «Работа со строками в С++» Цель: изучить работу по обработке текстовых строк в С++. Тип урока: практическая работа. Количество часов: 4. Необходимое программное...
C++ strcpy/strcpy_s Добрый вечер! Есть класс (упрощенно): class const_string { public: const_string(char const* s) { strcpy(str, s); / strcpy_s(str, strlen(s), s); http://www.cyberforum.ru/cpp-beginners/thread93727.html
C++ Метод ньютона для СНУ
Привет всем!!!)) Помогите пожалуста перевести программу з матлаба на С++. Вот исходник матлаба и функции(обратна, транспонирование) которые уже есть. Помогите пожалуста завтра здача курсовой, а у...
Оператор if C++
Почему у меня оператор Else выдает как ошибку(Е2054 Misplaced else)? и в операторе if не нравится как я записал if((s==a)&&(f==p)); ? #include<vcl.h> #include<iostream.h> void main(void) { const...
C++ динамический массив http://www.cyberforum.ru/cpp-beginners/thread93685.html
1) Дан массив из 6 элементов типа целое без знакаю Сформировать указатель на этот массив и обратится ко второму элементу массива разными способами 2) Выделить память для трёхмерного массива в ....
C++ вопрос, наверное, по потокам вот есть программка, работающая с текстовым файлом, первые два символа которого хранят длинну строки. программыа должна вывести всю строку (включая первые два символа) #include <iostream> #include... подробнее

Показать сообщение отдельно
Газмяс
0 / 0 / 0
Регистрация: 04.03.2009
Сообщений: 93
22.02.2010, 16:22  [ТС]
помогите с кодом...выдает ошибки четыре

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
template <BaseType> TList
{
 protected:
  BaseType  Info;
  TList    *Next;
 public:
   TList ();
  ~TList ();
  bool push(TBaseType Item);
  bool merge(TList &List);
};
 
template <TBase> TList
{
 protected:
  TBase  Info;
  TList *Next;
 public:
   TList ();
   TList (TBase Value);
   TList (TList &List);
   TBase &Search(TBase  Value);
   TBase &operator[](int Index);
   TBase &Begin ();
   TBase &End ();
   void Show(); // Выводит в дефолный поток
  ~TList ();
};
 
 
TList::TList()
{
 Next=NULL;
}
 
 
TList::TList(TBase Value)
{
 Info=Value;
 Next=NULL;
}
 
TList::TList(TBase Value) // Копирующий конструктор
{
 TList *Sourcer=&List; // Указатель на источник
 TList *Target=(TList*)(&Info); // Указатель на приёмник
  while (Source) // Пока не вышел из источника
  {
   Target->info=Sourcer->Info; // Копирую данные
   Sourcer=Sourcer->Next; // Переход к следущему элементу источника
   if (Sourcer) // Если она существует
   {
    Target->Next=new TList; // Создаю элемент приёмника
    Target=Target->Next; // Перехожу к нему
   }
  }
}
 
 
TBase TList::&Search(TBase  Value) // Поиск
{
 TList Point;  // Указатель
 for (Point=this; Point; Point=Point->Next) // цикл поиска
 {
  if (Value==Point->Info) // Если нашел
  {
   return Point->Value; // Возврат ссылки
  }
 }
}
 
TBase TList::&operator[](int Index) // Поиск по номеру
{
int i; // Номер текущего
TList *Point; // Указатель
for (i=1, Point=this; i<Index; ++i, Point=Point->Next);// Цикл поиска
return Point->Info; // возвращаем результат
}
 
 
TBase TList::&Begin () // List.Begin()=Value;
{
 TList *Temp=Next; // Буфер
 Next=new TList; // Создаю новый
 Next->Next=Temp; // После нового второй
 Next->info=Info; // Нвчало копирую в новый
 return Info;
}
 
 
template <TBase> TList
{
 protected:
  TBase  Info;
  TList *Next;
 public:
   TList ();
   TList (TBase Value);
   TList (TList &List);
   TBase &Search(TBase  Value);
   TBase &operator[](int Index);
   TBase &Begin ();
   TBase &End ();
   void Show(); // Выводит в дефолный поток
  TBase &Insert (int Index);
  void DeleteFirst ();
  void DeleteLast ();
  void Delete (int Index);
  ~TList ();
};
 
TBase TList::&End ()
{
 TList *Point; // Указатель
 for (Point=this; Point->Next; Point=Point->Next); //Ищу конец
 Point->Next=new TList; // Сщоздаю новый
 Point->Next=NULL; // Новый последний
 return Point->Info; // Возвращаю ссылку
}
 
TBase TList::&Insert (int Index)
{
 int I;
 TList *Point; // Указатель
 TList *Temp; // Буфер
 for (i=1, Point=this; i<Index; ++i, Point=Point->Next); //Ищу конец
 Temp=Point->Next; // Запоминаю следующий
 Point->Next=new TList; // Создаю новый
 Point->Next=Temp; // После нового следующий
 return Point->Info; // Возвращаю ссылку
}
void TList::DeleteFirst ()
{
 info=Next->Info; // Копирую второй в первый
 Next=Next->Next; // Второй становится первым
}
 
void TList::DeleteLast ()
{
 TList *Point; // Указатель
 for (Point=this; Point->Next; Point=Point->Next); // Ищу предпоследний
 delete Point->Next; // Удаляю последний
}
 
void TList::Delete (int Index)
{
 int i;
 TList *Point; // Указатель
 TList *Temp; // Указатель
 if (Index==0) // Если удаляем первый
 {
  DeleteFirst(); // Так первый и удаляем
 }
 else // Иначе
 {
  for (i=2, Point=this; i<Index; ++i, Point=Point->Next);// ищем предыдущий
  Temp=Point->Next->Next; // Запоминаем следующий
  delete Point->Next; // Удаляем
  Point->Next=Temp; // Следующий на место этого
 }
}
TList::~TList()
{
 TList *Point;
 TList *Temp;
 for (Point=this; Point; Point=Temp)
 {
 Temp=Point
  delete Point;
 }
}
TList <int> List;
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru