Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
SveN_152v
1 / 1 / 3
Регистрация: 18.11.2013
Сообщений: 90
#1

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

03.12.2014, 20:42. Просмотров 2263. Ответов 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++):

Как добавить элемент в очередь, используя указатель на последний элемент?
Не пойму как добавить элемент в очередь используя указатель на последний...

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

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

Создать очередь, содержащую целые числа. После всех чисел, кратных 𝑋, вставить новый элемент
Создать очередь, содержащую целые числа. После всех чисел, кратных 𝑋, вставить...

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

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

4
Eva Rosalene
Male-to-Female
4049 / 1587 / 301
Регистрация: 06.01.2013
Сообщений: 4,176
Завершенные тесты: 2
03.12.2014, 20:48 #2
SveN_152v, а у Вас в вузе сейчас случаем не динамические структуры данных проходятся? Потому что если да, то с задачей Вы явно не справились.
0
SveN_152v
1 / 1 / 3
Регистрация: 18.11.2013
Сообщений: 90
03.12.2014, 20:53  [ТС] #3
Цитата Сообщение от FraidZZ Посмотреть сообщение
а у Вас в вузе
Увы, но я не в вузе учусь) Я технарь экономист)
0
Eva Rosalene
Male-to-Female
4049 / 1587 / 301
Регистрация: 06.01.2013
Сообщений: 4,176
Завершенные тесты: 2
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 / 3
Регистрация: 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
Привет! Вот еще темы с решениями:

Вставить элемент в очередь
Скажите, правильно я понимаю, что в очереди новые узлы вставляются после, а в...

Вставить элемент в очередь
Формирую очередь из чисел. Как вставить после каждого простого числа нужное...

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

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


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

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

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