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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
biruld
0 / 0 / 0
Регистрация: 16.12.2013
Сообщений: 12
#1

Создание класса очередь из двух векторов - C++

24.04.2014, 22:35. Просмотров 253. Ответов 0
Метки нет (Все метки)

Суть задачи - создать шаблонный класс очередь, который состоит из двух векторов, и реализовать две функции - добавление элемента в начало очереди и в конец очереди. Написала что-то, подскажите, где могут быть ошибки? (

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
#include <iostream>
#include <vector>
#include <time.h>
 
template <class T> class MyDeque
{
    T *av;
    T *bv;
    int alen;
    int blen;
public:
    MyDeque (int N)
    {
        if (N%2=0)
        {
        av=new T[N/2];
        alen=N/2;
        bv=new T[N/2];
        blen=N/2;
        }
 
    }
    
    T &operator [] (int index)
    { 
    if (index<=N/2) return av[N/2-index];
    if (index>N/2) return bv[N/2+index];
    }
    
    T operator [] (int index) const
    {
    if (index<=N/2) return av[N-index];
    if (index>N/2) return bv[index];
    }
 
    ~MyDeque()
    {
        delete []av;
        delete []bv;
    }
 
    void InBegining ( MyDeque &temp, T k)
    {
        T *at;
        at=new T[temp.alen+1];
        for (int i=0; i<temp.alen; i++)
        {
            at[i]=temp.av[i];
        }
        temp.at[i+1]=k;
        delete []temp.av;
        temp.av=new T[temp.alen+1];
        temp.alen=temp.alen+1;
        for (int i=0; i<temp.alen; i++)
        {
            temp.av[i]=at[i];
        }
        delete at[];
    }
 
    void InEnd ( MyDeque &temp, T k)
    {
        T *bt;
        bt=new T[temp.blen+1];
        for (int i=0; i<temp.blen; i++)
        {
            bt[i]=temp.bv[i];
        }
        temp.bt[i+1]=k;
        delete []temp.bv;
        temp.bv=new T[temp.blen+1];
        temp.blen=temp.blen+1;
        for (int i=0; i<temp.blen; i++)
        {
            temp.bv[i]=bt[i];
        }
        delete bt[];
    }
 
};
 
MyDeque<double> md(6);
 
for (int k=0; k<6; k++)
{
    md[k]=rand()%10;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.04.2014, 22:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создание класса очередь из двух векторов (C++):

Создание шаблонного класса(очередь) - C++
Создал приоритетную очередь: #include &lt;iostream&gt; template&lt;typename T&gt; class Element { public: Element(double key,...

Сортировка двух векторов, создание третьего и запись в файл - C++
Необходимо отсортировать два вектора int таким образом чтобы сохранить результат в третий вектор, выбрав только те числа которые...

Создание двух объектов класса Employee - C++
Напишите программу с использованием класса Emloyee, два объекта класса Employee, устанавливает значения членов itsAge, itsYearOfService, и ...

Приём константных векторов класса, как аргументов в методе другого класса - C++
Есть такой класс: class Order { private: int numberOrder; map &lt;string, int&gt; catalogDish; double totalCost; public: ...

Создать класс для обработки векторов разность векторов норму векторов - C++
Создать класс для обработки векторов разность векторов норму векторов

Шаблоны класса, очередь - C++
Есть задание: Определите шаблон QueueTp. Проверьте его, создав очередь указателей на Worker. Вот что есть: worker.h #ifndef WORKER_H_ ...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.04.2014, 22:35
Привет! Вот еще темы с ответами:

Шаблон класса очередь - C++
Привет всем. При создании шаблона класса столкнулся со следующими проблемами: при использовании перегруженной &lt;&lt; пишет запрещенный внешний...

Объединение двух векторов - C++
почему не получается занести элементы в vector v ?? int main() { vector&lt;int&gt;v; vector&lt;int&gt;v1; vector&lt;int&gt;v2; for (int i...

Слияние двух векторов - C++
Дано два одномерных массива A и B. Помогите, пожалуйста с кодом: нужно соединить их в один массив C.

Сумма двух векторов - C++
добрый вечер, имеется программа которая : &quot;Создать 2 вектора (массива) с 1000 элементами из случайных чисел. Сложить эти вектора....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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