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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Итератор в двухсвязном списке http://www.cyberforum.ru/cpp-beginners/thread733938.html
Есть двусвязный список с итератором. Когда я попытался сделать пользовательский интерфейс, то оно работает как попало. У меня конец списка и начало стало одним и тем же. Если кто может помочь исправить интерфейс, что бы он работал правильно, буду признателен, и с меня причитается. Studlist.h #ifndef STUDLIST_INCLUDE #define STUDLIST_INCLUDE template <class INF> class List { friend...
C++ Указатели: определить число отрицательных элементов в массиве и вывести их адреса Привет всем, я хотел бы узнать как решается данная задачка: Написать программу, определяющую число отрицательных элементов в массиве и печатающую их адреса.При вводе/выводе использовать индексы, а обработку элементов массива осуществлять с помощью указателей. Расчет производится в функции, в которую массив передается по указателю #include "stdafx.h" #include <iostream> #include "locale.h"... 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. Итерации прекратить при условии |{y}_{k+1}-{y}_{k}|<2*{10}^{-6} Добавлено через 37 секунд Заранее благодарен
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). (Определить подпрограмму вычисления расстояния между двумя точками, заданными своими координатами.) #include <stdio.h> #include <math.h> #include <conio.h> float A; float dlina(int a, int b) {return... подробнее

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

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

16.12.2012, 16:36. Просмотров 1288. Ответов 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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru