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

шаблон очереди - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ не работает проверка бесконечного цикла http://www.cyberforum.ru/cpp-beginners/thread454353.html
// разработать класс Student, который содержит соответствующие поля для хранения: // * фамилии,+ // * имени,+ // * отчества,+ // * возраста,+ // * пола,+ // * домашнего адреса,+ // * телефонного номера,+ // * номера группы,+ // * названия специализации.+
C++ Дан двумерный массив размером 5 * 8, заполненный случайным образом. Вставить перед всеми строками, первый элемент которых делится на3,вставить.... Дан двумерный массив размером 5 * 8, заполненный случайным образом. Вставить перед всеми строками, первый элемент которых делится на 3, строку из нулей. есть задача но в ней чето не правильно подскажите пож что? #include "stdafx.h" #include "stdlib.h" #include "stdafx.h" #include "conio.h" http://www.cyberforum.ru/cpp-beginners/thread454334.html
C++ Треугольник
Даны два множества точек на плоскости.из первого множества выбрать три различные точки так,чтобы треугольник с этими вершинами содержал(строго внутри себя) равное количество точек первого и второго множеств. Видел на паскале,но надо на си.
C++ error C2447: missing function header
пишет ошибку error C2447: missing function header (old-style formal list?) #include <iostream> #include <math.h> using namespace std; int main (void); { int n=15 double s=0.0,x=4.1,k=1; for (int i=1;i<=n;i++)s=s+(sin(k*x))/(k*k);
C++ окрытие файла в конструкторе http://www.cyberforum.ru/cpp-beginners/thread454291.html
Добрый день. Я хочу создать объект для работы с файлом. На сколько корректно открывать его в конструкторе? Если файл не откроется, объект все равно создастся? Например file_class file("file_name") ; file.getMethod(); Мне нужно сделать так, что если файл не открывается, программа например завершалась. Или способ как проверить полноценный ли объект перед тем как вызывать getMethod()
C++ Вывести все делители заданного натурального числа с++ Вывести все делители заданного натурального числа подробнее

Показать сообщение отдельно
skanku
0 / 0 / 0
Регистрация: 20.11.2011
Сообщений: 56
28.02.2012, 12:05     шаблон очереди
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
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
// очередь.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"
#include <iostream>
#include "stdlib.h"
#include <conio.h>
 
 
using namespace std;
 
 // описание шаблона класса
 template <class Qtype> class queue {
 Qtype *q;
 int sloc,rloc;
 int length;
 public: // описание методов класса
 queue(int size);
 ~queue(){ delete [] q;};
 void qstore (Qtype i);
 Qtype qretrieve();
 void print();
 void init(int size);
 void delete_queue();
 };
 // описание конструктора
 template <class Qtype> queue<Qtype>::queue(int size)
 {
 q=0;
 init(size);// вызов метода создания очереди
 }
 // описание метода добавления элемента в очередь
 template <class Qtype> void queue<Qtype>::qstore(Qtype i)
 {
 // проверка на создание очереди
 if(q==0) {
 cout<<"err-> inicializacia ocheredi\n";
 return ;
 }
 //проверка на заполнение очереди
 if(sloc==length) {
 cout<<"ochered pusta \n";
 return;
 }
 q[sloc]=i; //запонить элемент очереди
 sloc++; // увеличить указатель на элемент очереди
 }
 // описание метода удаления элемента из очереди
 template <class Qtype> Qtype queue<Qtype>::qretrieve()
 {
 // проверка на создание очереди
 if(q==0) {
 cout<<"err-> inicializacia ocheredi \n";
 return 0;
 }
 // проверка пустой очереди
 if(sloc==rloc) {
 cout<<"ochered pusta \n";
 return 0;
 }
 rloc++;//установить указатель на следующий элемент
 return q[rloc-1];// возвратить (удалить) элемент из очереди
 }
 // вывести на экран очередь
 template <class Qtype> void queue<Qtype>::print()
 {
 // проверка пустой очереди
 if(sloc==rloc) {
 cout<<"ocehered pusta \n";
 return ;
 }
 cout<<"ochered=";
 // цикл вывода на экран очереди
 for(int i=rloc;i<sloc;i++)
 {
 cout<<q[i]<<" ";
 }
 cout<<"\n";
 }
 // инициализация очереди
 template <class Qtype> void queue<Qtype>::init(int size)
 {
 if(q!=0) {
 delete [] q; //освободить очередь
 q=0;
 }
 q = new Qtype[size]; //создать очередь
 if(!q) { // проверка на создание очереди
 cout<<"ochered ne sozdana\n";
 exit(1);
 }
 length=size; // установка параметров очереди
 sloc=rloc=0;
 }
 // удалить очередь
 template <class Qtype> void queue<Qtype>::delete_queue()
 {
 if(q!=0) {
 delete [] q;//освободить очередь
 q=0;
 }
 //cout<<" udalenie ocheredi \n";
 length=0; // обновить параметры очереди
 sloc=rloc=0;
 }
 
int main () //главная функция
 {
int n;
 queue<int> *a=0;
 int ar=1;
 while(ar) // цикл вывода меню и его обработка
 {
 cout<<"1.sozdat ochered \n";
 cout<<"2.inicializacia ocheredi \n";
 cout<<"3.dobavlenie el v ochered \n";
 cout<<"4.udalenie elementa \n";
 cout<<"5.vivesti na ekran \n";
 cout<<"6.udalenie ocheredi \n";
 cout<<"7.Vihod \n";
 char k=getch();
 switch(k) // обработка нажатия клавиши
 {
 case '1': 
 if (a!=0) //проверка на создание класса очереди
 {
 cout<<"err -> unichtogina ochered";
 getch();;
 break;
 }
 cout<<"kol-vo elementov=";
 n=0;cin>>n; cout<<"\n"; // ввести количество элементов в очереди
 if (n>0)
 a=new queue<int>(n);// создание очереди
 system ("pause");
 break;
 case '2': //компилятор ругается на это место
 if (a==0)//проверка на создание класса очереди
 {
 cout<<"err -> ochered ne sozdana \n";
 getch();
 break;
 }
 cout<<"count element=";
 n=0;cin>>n; cout<<"\n";// ввести количество элементов в очереди
 if (n>0)
 a->init(n);// создание очереди
 cout<<"inicializacia ocheredi \n";
getch();
 break;
 case '3':
 if (a==0)//проверка на создание класса очереди
 {
 cout<<"err -> ochered ne sozdana \n";
 getch();
 break;
 }
 cout<<"element=";
 cin>>n; cout<<"\n";//ввести элемент
 a->qstore(n); //добавить элемент
 a->print();// вывести очередь
 getch();
 break;
 case '4':
 if (a==0)//проверка на создание класса очереди
 {
 cout<<"err -> ochered ne sozdana \n";
 getch();
 break;
 }
 cout<<"udalenie elementa=";
 n=a->qretrieve();// взять первый элемент очереди
 if (n>=0)
 cout<<n;
 cout<<"\n"; //вывести элемент на экран
 a->print();// вывести очередь
 getch();
 break;
 case '5':
 if (a==0)//проверка на создание класса очереди
 {
 cout<<"err -> ochered ne sozdana \n";
 getch();
 break;
 }
 a->print();// вывести очередь
getch();
 break;
 case '6':
 if (a==0)//проверка на создание класса очереди
 {
 cout<<"err -> ochered ne sozdana \n";
getch();
 break;
 }
 a->delete_queue();// удалить очередь
 cout<<"udalenie ocheredi \n";
getch();
 break;
 case '7':
 ar=0;// выход из цикла
 break;
 }
 }
 return 0;//завершение программы
 }
в очередь можно вводить только целые числа, помогите сделать так что бы были и дробные пожалуйста не могу чего то разобраться
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru