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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
SveN_152v
1 / 1 / 0
Регистрация: 18.11.2013
Сообщений: 90
#1

Создать очередь. Добавить элемент в очередь. Удалить элемент из очереди - C++

03.12.2014, 20:42. Просмотров 1675. Ответов 4
Метки нет (Все метки)

Нужно создать очередь. Добавить элемент в очередь. Удалить элемент из очереди.
Вот моё "творение".

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
int main()
{
    int och[512];   //очередь на 512 запросов
    int point = -1; //указатель на очередь
 
    int addel(int a);   //добавление запроса в очередь
    {
        int a;
        if (point<511) och[point++] = a;
        else
        {
            cout << "enough queue\n"; //очередь переполнена
            return 0;
        }
        return 1;
    }
    void delel(void);   //чтение запроса из очереди
    {
        if (point >= 0)
        {
            int max = och[0], nmax = 0; // поиск запроса с максимальным параметром
            for (int i = 1; i < point; i++)
            if (max < och[i]) max = och[i], nmax = i;
            cout << "read   " << max << endl;
            point--;            //сдвиг очереди
            for (int i = nmax; i < point; i++) och[i] = och[i + 1];
        }
    }
    void printoch(void);        //содержимое очереди
    {
        if (point >= 0)
        {
            cout << ":   ";
            for (int i = 0; i < point; i++)
                cout << och[i] << " ";
            cout << "\n";
        }
    }
    void main(void);
    {
        int op, f;
        clrscr();
        do
        {
            op = rand(2);       // 0-запись запроса, 1- чтение
            f = rand(15);       //запрос
            if (op) delel();
            else if (!addel(f)) exit(1);
            printoch();
        } while (1);
    }
    _gettch();
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.12.2014, 20:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создать очередь. Добавить элемент в очередь. Удалить элемент из очереди (C++):

Как добавить элемент в очередь, используя указатель на последний элемент? - C++
Не пойму как добавить элемент в очередь используя указатель на последний элемент. Выполняю задание из книги М Доусона с++ и вот реализовать...

Добавить элементы в очередь, найти максимальный элемент - C++
Нужна Ваша помощь! пожалуйста, помогите доработать программу, а то у меня совсем ничего не получается(( задача такая: в файле лежат...

Создать очередь, содержащую любые символы. Удалить из очереди все символы, не являющиеся буквами или цифрами - C++
Используя динамические структуры, реализовать следующие задания. Вспомо*гательные функции должны быть написаны самостоятельно (Встроенную...

Создать очередь, содержащую целые числа. После всех чисел, кратных 𝑋, вставить новый элемент - C++
Создать очередь, содержащую целые числа. После всех чисел, кратных 𝑋, вставить новый элемент. Например, если введены 1 1 2 3 2 4 3 5 4 1...

Создать на базе класса с реализацией очереди клас потомок — кольцевая очередь - C++
Доброго времени суток. Я хотел создать на базе класса с реализацией очереди клас потомок - кольцевая очередь. Исходник: #include...

Структура "Информация": - носитель; - объем; - название; - автор. Удалить первый элемент с заданным объемом информации, добавить элемент перед элемент - C++
Структура &quot;Информация&quot;: - носитель; - объем; - название; - автор. Удалить первый элемент с заданным объемом информации, добавить...

4
FraidZZ
Ex-Member
3898 / 1524 / 229
Регистрация: 06.01.2013
Сообщений: 4,050
Завершенные тесты: 1
03.12.2014, 20:48 #2
SveN_152v, а у Вас в вузе сейчас случаем не динамические структуры данных проходятся? Потому что если да, то с задачей Вы явно не справились.
0
SveN_152v
1 / 1 / 0
Регистрация: 18.11.2013
Сообщений: 90
03.12.2014, 20:53  [ТС] #3
Цитата Сообщение от FraidZZ Посмотреть сообщение
а у Вас в вузе
Увы, но я не в вузе учусь) Я технарь экономист)
0
FraidZZ
Ex-Member
3898 / 1524 / 229
Регистрация: 06.01.2013
Сообщений: 4,050
Завершенные тесты: 1
03.12.2014, 22:34 #4
SveN_152v, хм. И всё же) Задание на динамические структуры?) Чую, что да.
Пока набрасываю пример, как примерно должно это выглядеть.

Добавлено через 1 час 33 минуты
Прошу прощения, что исчез, был очень вынужден.

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
#include <iostream>
 
template <class DataType>
class Queue {
    class Node {
        public:
            DataType value;
            Node * next;
            Node(DataType data) : next(0), value(data) { }
    };
 
    Node * head, * tail;
    public:
        Queue() : head(0), tail(0) { }
        ~Queue() {
            while ( tail ) {
                Node * tmp = tail;
                tail = tail->next;
                delete tmp;
            }
        }
        bool empty () { return !tail; }
        void enqueue (DataType val) {
            Node *ph = head;
            head = new Node(val);
            if (ph) ph->next = head;
            else tail = head;
        }
        DataType dequeue( ) {
            DataType val = tail->value;
            Node *pt = tail->next;
            delete tail;
            tail = pt;
            return val;
        }
};
 
int main ( ) {
    try {
        Queue<int> a;
        a.enqueue(10);
        a.enqueue(11);
        a.enqueue(12);
        a.enqueue(13);
    
        while ( !a.empty() ) std::cout << a.dequeue() << " , ";
    } catch ( int e ) { std::cout << "Error!"; }
    return 0;
}
1
SveN_152v
1 / 1 / 0
Регистрация: 18.11.2013
Сообщений: 90
03.12.2014, 22:54  [ТС] #5
Я бы выразил большую признательность, если бы ещё немного вы прокомментировали, ибо не силён я ещё в просторах сие языка.

Цитата Сообщение от FraidZZ Посмотреть сообщение
Прошу прощения, что исчез, был очень вынужден.
Ничего страшного, ведь не от мира сего мы зависим) У каждого есть другие дела, которые требуют их решения)
0
03.12.2014, 22:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.12.2014, 22:54
Привет! Вот еще темы с ответами:

Вставить элемент в очередь - C++
Скажите, правильно я понимаю, что в очереди новые узлы вставляются после, а в стеке перед? Или я могу вставить в очереди новый узел ПЕРЕД...

Вставить элемент в очередь - C++
Формирую очередь из чисел. Как вставить после каждого простого числа нужное мне? Имею такой код,... #include &lt;stdio.h&gt; #include...

Очередь: Создать две новые очереди в которых будут находиться отдельно положительные и отрицательные числа - C++
Задана очередь элементов, содержащий положительные и отрицательное числа.Создать две новые очереди в которых будут находиться отдельно...

Двусвязный список - Добавить элемент после заданного, удалить заданный элемент - C++
Реализуйте списочную структуру в виде класса. работа состоит из двух частей: из класса (структуры, алгоритма) и из тестирующего кода. ...


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

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

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