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

Очередь - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Динамический массив указателей http://www.cyberforum.ru/cpp-beginners/thread163417.html
Чегото не пойму такое вообще возможно? Странно, что при объявлении можно не указывать размерность: int *a; Но как потом память выделять не известно. Добавлено через 2 минуты p.s. прошу не...
C++ Как выразить в С корень n-степени. Как выразить в С корень n-степени. Подскажите. http://www.cyberforum.ru/cpp-beginners/thread163391.html
C++ Объявление структуры и класса
Ругается на строку obj_cls.prv=3; и на объявление класса. Что у меня не правильно? #include <iostream> using namespace std; struct str { int pub; private: int prv;
Вычисление факториала C++
Помогите пожалуйста вычислить факториал:
C++ Сделать функцию "Команда" http://www.cyberforum.ru/cpp-beginners/thread163290.html
Может кто помочь написать функцию "команда", т.е. например в консольном приложении вводишь команду, например hello, в ответ выводится hello world и тому подобное, задавать команду примерно так:...
C++ Приложения для телефона Писать приложения для телефона можно только на Java? Просто я слышал, что можно писать на си++ приложения для телефона, это правда? подробнее

Показать сообщение отдельно
TheMachinist
243 / 175 / 15
Регистрация: 14.06.2010
Сообщений: 422
05.09.2010, 00:14  [ТС]
bobromet, ничего не делать в случае ошибки - это, конечно, совсем неправильное решение. Верный путь к зацикливанию. У меня в случае попытки запихнуть элемент в заполненную очередь сработаетКод C++
1
C++
1
throw std::runtime_error("Full queue!");
а при попытке извлечь элемент из пустой очередиКод C++
1
C++
1
throw std::runtime_error("Empty queue!");
А у меня это не работает почему то, так же как и exit(1)

Enqueue() работает нормально , а Dequeue() выдает кучу лишних цифр вместо 0 1 2 3 4

Добавлено через 1 минуту
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
#include <iostream>
#include <conio.h>
//using namespace std;
 
class Queue
{
    int head; int tail;
    int q[5];
 
public:
    Queue() : head(0), tail(0) {}
    void Enqueue(int var);
    int GetNum();
int Dequeue();
};
 
void Queue::Enqueue(int var)
{
    if(tail < 5)
    {
    q[tail] = var;
    tail++;
    }
}
 
int Queue::GetNum()
{
    return tail;
}
 
int Queue::Dequeue()
{
    if(tail > 0)
    {
        tail--;
        return q[tail];
    }
    //else throw std::runtime_error("empty queue");
}
 
int main()
{
    Queue q1;
setlocale(LC_ALL,"Rus");
 
std::cout << "Вместимость очереди: 5" << std::endl;
std::cout << "Кол-во элементов в очереди после попытки вместить туда 10 элементов: ";
 
    for(int i = 0;i < 10;i++)
        q1.Enqueue(i);
 
    std::cout << q1.GetNum() << std::endl;
 
    std::cout << "Попытка извлечь из очереди 10 элементов: " << std::endl;
    for(int i = 0;i < 10;i++)
        std::cout <<    q1.Dequeue();
 
    _getch();
}
Добавлено через 8 минут

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