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

Задача на очередь (вывод сообщения, что очередь пуста) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Итератор в двухсвязном списке http://www.cyberforum.ru/cpp-beginners/thread733938.html
Есть двусвязный список с итератором. Когда я попытался сделать пользовательский интерфейс, то оно работает как попало. У меня конец списка и начало стало одним и тем же. Если кто может помочь...
C++ Указатели: определить число отрицательных элементов в массиве и вывести их адреса Привет всем, я хотел бы узнать как решается данная задачка: Написать программу, определяющую число отрицательных элементов в массиве и печатающую их адреса.При вводе/выводе использовать индексы, а... http://www.cyberforum.ru/cpp-beginners/thread733932.html
Вычисление кубического корня с использованием итерационной формулы C++
Написать и протестировать функцию вычисляющую: y=\sqrt{x}(0<|x|<2), используя итерационную формулу {y}_{k+1}={y}_{k}+\frac{1}{3}({y}_{k}-\frac{{y}^{4}_{k}}{x}). Начальное приближение {y}_{0}=x....
C++ Изучить и освоить приёмы разработки программ с использованием структур
Сформировать документ, в котором хранится информация о заболеваниях сотрудников: ФИО, год рождения, заболевание, продолжительность болезни. На его основе сформи¬ровать список сотрудников, которые...
C++ Задача на вложенный цикл http://www.cyberforum.ru/cpp-beginners/thread733919.html
10 20 20 30 30 30 40 40 40 40 50 50 50 50 50 5 5 5 5 5 10 10 10 10 15 15 15
C++ Не могу найти ошибку в программе Даны действительные числа х1, у1, х2, у2, …,х10, у10. Найти периметр десятиугольника, вершины которого имеют соответственно координаты (х1, у1), (х2, у2), …, (х10, у10). (Определить подпрограмму... подробнее

Показать сообщение отдельно
S9
Волшебник
646 / 249 / 38
Регистрация: 18.12.2010
Сообщений: 541

Задача на очередь (вывод сообщения, что очередь пуста) - C++

16.12.2012, 16:36. Просмотров 1381. Ответов 3
Метки (Все метки)

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

вот код, он рабочий

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
#include <iostream>
#include <fstream>
using namespace std;
 
template <class Item>
class tQueue
{
    struct elem
    {
        Item inf;
        elem *next;
        elem(Item x) : inf(x), next(0) {}
    };
 
    elem *head, *tail;
public:
    tQueue() : head(0), tail(0) {}
    bool empty() {return head == 0;}
    Item get()
    {
        if (empty())
            return 0;
        elem *r = head;
        Item i = r->inf;
        head = r->next;
        delete r;
        return i;
    }
    void put(Item data)
    {
        elem *t = tail;
        tail = new elem(data);
        if (!head)
            head = tail;
        else
            t->next = tail;
    }
};
 
int main()
{
    ifstream in("input.txt");
    ofstream out("output.txt");
 
    tQueue <int> t;       //организуем целочисленную очередь t.
    int next;
 
    in >> next;            //вводим элемент.
 
    while (in.peek() != EOF)         //запускаем проверку:
    {
        if (next > 0)                               //если элемент меньше нуля, то
            t.put(next);                              //помещаем его в очередь.
        else
            out << next << " ";          //иначе выводим сразу.
        in >> next;                            // и вводим следующий элемент.
 
    }
 
    while (!t.empty())                    //выводим очередь.
        out<< t.get() << " ";
 
 
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.