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

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

Войти
Регистрация
Восстановить пароль
 
revo1t
29 / 9 / 1
Регистрация: 14.03.2013
Сообщений: 53
Завершенные тесты: 1
#1

Работа со стеком (вытащить значение и сохранить в переменную) - C++

30.04.2014, 15:28. Просмотров 288. Ответов 1
Метки нет (Все метки)

Привет всем!
Пишу я лабораторку по моделированию систем. И столкнулся с проблемой вытаскивания значений из стека и сохранение в переменную. Как можно это реализовать?
З.Ы Переменная в последствии будет использоваться для сравнения.
Пока что у меня как то так :/
C++ (Qt)
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#include<iostream>
#include<math.h>
#include<conio.h>
#include<time.h>
#include<vector>
#include<stdlib.h>
 
using namespace std;
double minimal(double a, double b , double c);
 
int main(){
//////////////////////////////////////////////////////////////////////////
    double h = 0;                       //время завершения обслуживания
    bool S = false;                     //состояние свойства машины
    double deltaT1 = 15 + rand() % 26;  //время поступления заявки первого типа
    double deltaT2 = 25 + rand() % 36;  //время поступления заявки второго типа
    double dTS1 = rand();               //время на обработку заявки первого типа
    double dTS2 = rand();               //время на обработку заявки второго типа
    int n=0;                            //длина очереди - колличество транзактов
    double Tz = 500;                    //время остановки модели
    double tm = 0;                      //таймер модельного времени
    stack<int> q;                       //стек хранящий тип заявки 
    double e1 = deltaT1;                //время прихода заявки первого типа
    double e2 = deltaT2;                //время прихода заявки второго типа
    srand(time(NULL));
    //////////////////////////////////////////////////////////////////////////
do{
    loop:tm = minimal(e1,e2,h);
    if(tm = e1){
        if(S == false){
            S = true;
            h = tm + dTS1;
            e1 = tm + deltaT1;
            goto loop;
        }else{
            n++;
            q.push(1);
            e1 = tm + deltaT1;
            goto loop;
        }
    }else if(tm = e2){
        if(S == false){
            S = true;
            h = tm + dTS2;
            e2 = tm + deltaT2;
            goto loop;
        }else{
            n++;
            q.push(2);
            e2 = tm + deltaT2;
            goto loop;
        }
    }else{
        S = false;
        if(n == 0){
            h = Tz + 1;
            goto loop;
        }else{
            n--;
            int temp = q.pop();
            if(temp == 1){
                S = true;
                h = tm + dTS1;
                goto loop;
            }else{
                S = true;
                h = tm + dTS2;
                goto loop;
            }
        }
    }    
    }while(tm > Tz);
    getch();
    return 0;
}
double minimal(double a , double b , double c){
    double result;
    if(a < b) result = a;
    if(b < result) result = b;
    if(c < result) result = c;
    return result;
}
Проблема:
C++ (Qt)
1
2
3
4
5
6
7
                                          n--;
            int temp = q.pop();
            if(temp == 1){
                S = true;
                h = tm + dTS1;
                goto loop;
            }else{


Заранее спасибо за ответы
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.04.2014, 15:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа со стеком (вытащить значение и сохранить в переменную) (C++):

Работа со стеком. Программа, которая к вершине стека добавляет некоторое число, а следующему элементу присваивает значение предыдущего - C++
Есть некоторый стек, в каждом элементе которого записаны по два целых числа. Нужно сделать программу которая к вершине стека добавляет...

Работа с Функциями (Создать переменную, присвоить случайное значение...) - C++
Доброго всем времени суток =) У меня возникли некоторые вопросы при работе с функциями в с++. Задание 2: Создать переменную,...

Работа со стеком - C++
Привет всем. Помогите пожалуйста написать прогу. Постороить класс для работы со стеком.Элементы стека -целое число. Ввести две...

Работа со стеком - C++
Задача: Написать программу которая создает стек целых чисел считываемых из файла и удаляет из него повторяющиеся числа. Вывести элементы...

Работа со стеком - C++
Помогите исправить ошибки! Пусть символ # определен в текстовом редакторе как стирающий символ Backspace, т.е. строка abc#d##c в...

Работа со стеком! - C++
Необходимо записать заполнение стека с клавиатуры. Добавлено через 44 секунды #include &lt;iostream&gt; #include &lt;stack&gt; int main...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
30.04.2014, 15:34 #2
Цитата Сообщение от revo1t Посмотреть сообщение
int temp = q.pop();
pop() ничего не возвращает. Есть top().
http://www.cplusplus.com/reference/s...tack/?kw=stack
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.04.2014, 15:34
Привет! Вот еще темы с ответами:

Работа со стеком - C++
Люди...Помогите...Напишите пожалуйста библиотеку для работы со стеком и поясните как и что нужно делать!!!))))

Работа со стеком - C++
Ребят, помогите пожалуйста с заданиями: Задание 1 Реализовать стек списком. Все стандартные операции со стеком должны быть...

Работа со СТЕКОМ!!!!!!:) - C++
Создать класс для работы со стеком. Элемент стека – символ. --- Сформировать два стека,содержащие последовательности символов. ---...

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


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

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

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