Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Двоичное дерево поиска: подсчет количества элементов в дереве Помогите написать программу. Описать структуры данных, процедуры и функции, необходимые для работы с двоичными деревьями. Пользуясь этими подпрограммами, заполнить дерево исходными элементами и... https://www.cyberforum.ru/ cpp-beginners/ thread1997842.html C++ Поместить в начало списка L количество четных элементов, а в конец - количество нечетных
Помогите написать программу. При формировании списков значения элементов задавать произвольно. Каждый этап алгоритма оформить в виде отдельной процедуры. Предусмотреть вывод на экран всех...
C++ В очередь Och2 поместить все максимальные элементы из Och1 и найти их количество https://www.cyberforum.ru/ cpp-beginners/ thread1997839.html
Помогите написать программу. Описать структуры данных, процедуры и функции, необходимые для работы с очередями. Используя генератор случайных чисел, заполнить очередь Och1, затем выполнить задание....
C++ Преобразование выражения из постфиксного в префиксное представление https://www.cyberforum.ru/ cpp-beginners/ thread1997837.html
Помогите написать программу. Разработать программу преобразования выражения из постфиксного в префиксное представление.
В стек Stek2 поместить все отрицательные элементы стека Stek1 и найти их произведение C++
Помогите написать программу. Описать структуры данных, процедуры и функции, необходимые для работы с двумя стеками. Используя генератор случайных чисел, заполнить стек Stek1, затем выполнить...
C++ Описать структуру с именем AEROFLOT, содержащую следующие поля https://www.cyberforum.ru/ cpp-beginners/ thread1997825.html
Помогите написать программу. Описать запись необходимой структуры. Описать массив этих записей. Реализовать возможность добавления, редактирования и удаления элементов массива. Предусмотреть...
C++ Iconv() EBADF значение ошибки https://www.cyberforum.ru/ cpp-beginners/ thread1997823.html
Объясните, плиз, смысл ошибки: EBADF - cd is not a valid descriptor. возникает при выполнении iconv(iconvDescriptor, &pSrc, &nSrc, &pDst, &nDst); Добавлено через 32 минуты Причем...
Получить в файле g все компоненты файла f, являющиеся четными числами C++
Помогите написать программу. Дан файл f, компоненты которого являются целыми числами. Получить в файле g все компоненты файла f, являющиеся четными числами. С++
C++ Описать класс, реализующий стек Всем привет, нуждаюсь в помощи. Описать класс, реализующий стек. Написать программу, использующую этот класс для моделирования Т-образного сортировочного узла на железной дороге. Программа должна... https://www.cyberforum.ru/ cpp-beginners/ thread1997820.html C++ Перевод чисел в другую систему счисления Перевод чисел в другую систему исчисления struct NumberInfo { int _id; // Номер записи в файле long Number; // Число в десятичной системе исчисления int Foundation; // Основание новой... https://www.cyberforum.ru/ cpp-beginners/ thread1997816.html
C++ Что из себя представляет std::wstring?
В общем насколько я понимаю это string с типом wchar_t. Но есть вопросы: 1. Размер типа wchar_t зависит от компилятора и не стандартизирован(кто и как с этим борется?) 2. В чем вообще профит от...
C++ В файле вещественные числа.Заменить в нем все элементы на их квадраты.Объясните,пожалуйста,задачу https://www.cyberforum.ru/ cpp-beginners/ thread1997797.html
В файле вещественные числа.Заменить в нем все элементы на их квадраты.Объясните,пожалуйста,задачу. #include <iostream> #include <fstream> #include <vector> using namespace std; void...
с++
1282 / 523 / 225
Регистрация: 15.07.2015
Сообщений: 2,562
14.06.2017, 12:09 0

Классы: в очередь Och2 поместить все неотрицательные элементы из Och1 и найти их сумму - C++ - Ответ 10542272

14.06.2017, 12:09. Показов 1069. Ответов 3
Метки (Все метки)

Ответ

Цитата Сообщение от MrGluck Посмотреть сообщение
Попробуйте поискать по форуму реализацию очереди и вставить сюда.
если такая подойдет то вот
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
#ifndef QUEUE_H
#define QUEUE_H
 
#include <cassert>
 
template<typename T>
class Queue
{
private:
    T *queuePtr;     // указатель на очередь
    const int size;  // максимальное количество элементов в очереди
    int begin,       // начало очереди
        end;         // конец очереди
    int elemCT;      // счетчик элементов
public:
    Queue(int =10);          // конструктор по умолчанию
    Queue(const Queue<T> &); // конструктор копирования
    ~Queue();                // деструктор
 
    void enqueue(const T &); // добавить элемент в очередь
    T dequeue(); // удалить элемент из очереди
    void printQueue();
};
 
// реализация методов шаблона класса Queue
 
// конструктор по умолчанию
template<typename T>
Queue<T>::Queue(int sizeQueue) :
    size(sizeQueue), // инициализация константы
    begin(0), end(0), elemCT(0)
{
    // дополнительная позици поможет нам различать конец и начало очереди
    queuePtr = new T[size + 1];
}
 
// конструктор копии
template<typename T>
Queue<T>::Queue(const Queue &otherQueue) :
    size(otherQueue.size) , begin(otherQueue.begin),
    end(otherQueue.end), elemCT(otherQueue.elemCT),
    queuePtr(new T[size + 1])
{
    for (int ix = 0; ix < size; ix++)
        queuePtr[ix] = otherQueue.queuePtr[ix]; // копируем очередь
}
 
// деструктор класса Queue
template<typename T>
Queue<T>::~Queue()
{
    delete [] queuePtr;
}
 
// функция добавления элемента в очередь
template<typename T>
void Queue<T>::enqueue(const T &newElem)
{
    // проверяем, ести ли свободное место в очереди
    assert( elemCT < size );
 
    // обратите внимание на то, что очередь начинает заполняться с 0 индекса
    queuePtr[end++] = newElem;
 
    elemCT++;
 
    // проверка кругового заполнения очереди
    if (end > size)
        end -= size + 1; // возвращаем end на начало очереди
}
 
// функция удаления элемента из очереди
template<typename T>
T Queue<T>::dequeue()
{
    // проверяем, есть ли в очереди элементы
    assert( elemCT > 0 );
 
    T returnValue = queuePtr[begin++];
    elemCT--;
 
    // проверка кругового заполнения очереди
    if (begin > size)
        begin -= size + 1; // возвращаем behin на начало очереди
 
    return returnValue;
}
 
template<typename T>
void Queue<T>::printQueue()
{
    cout << "Очередь: ";
 
    if (end == 0 && begin == 0)
        cout << " пустая\n";
    else
    {
        for (int ix = end; ix >= begin; ix--)
            cout << queuePtr[ix] << " ";
        cout << endl;
    }
}
 
#endif // QUEUE_H

и

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
#include <iostream>
 
using namespace std;
 
#include "queue.h" // подключаем шаблон класса
 
int main ()
{
    Queue<char> myQueue(14); // объект класса очередь
 
    myQueue.printQueue(); // вывод очереди
 
    int ct = 1;
    char ch;
 
    // добавление элементов в очередь
    while (ct++ < 14)
    {
        cin >> ch;
        myQueue.enqueue(ch);
    }
 
    myQueue.printQueue(); // вывод очереди
 
    // удаление элемента из очереди
    myQueue.dequeue();
    myQueue.dequeue();
    myQueue.dequeue();
 
    myQueue.printQueue(); // вывод очереди
 
    cout << "\n\nСработал конструктор копирования:\n";
    Queue<char> newQueue(myQueue);
 
    newQueue.printQueue(); // вывод очереди
 
  return 0;
}


Вернуться к обсуждению:
Классы: в очередь Och2 поместить все неотрицательные элементы из Och1 и найти их сумму C++
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.06.2017, 12:09
Готовые ответы и решения:

В очередь Och2 поместить элементы из Och1, кратные 3, и найти их сумму
Помогите новичку в изучении С++ Описать структуры данных, процедуры и функции, необходимые для...

В очередь Och2 поместить все максимальные элементы из Och1 и найти их количество
Помогите написать программу. Описать структуры данных, процедуры и функции, необходимые для работы...

Найти сумму положительных элементов очереди и сам результат поместить в очередь
Вместо найти сумму минимального и последнего элемента очереди. Нужно найти сумму положительных...

Переставить очередь, чтобы сначала расположились все ее неотрицательные члены, а потом — все отрицательные
Помогите написать код, пожалуйста! :wall: Составить очередь, элементами которой являются...

3
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.06.2017, 12:09
Помогаю со студенческими работами здесь

Найти максимальные элементы каждой строки и поместить их на главную диагональ, а диагональные элементы поместить на место максимальных
Найти максимальные элементы каждой строки исходной матрицы А(N,N) (N&lt;=10) и поместить их на главную...

Поместить элементы массива в очередь
Привет! Есть такой код: #include&lt;iostream&gt; using namespace std; struct stack { int info;...

Все отрицательные элементы массива увеличить на 0.5, а все неотрицательные заменить на 0.1
Дан массив А из n действительных чисел: a1, …, an. Вычислить: sin|a1|+…+sin|an| Все...

В Stek2 поместить нечетные положительные элементы из stek1 и найти их сумму
в Stek2 поместить нечетные положительные элементы из stek1 и найти их сумму -&gt; (Описать структуры...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru