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

Стеки и очереди - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.88
Slafira
1 / 1 / 0
Регистрация: 18.10.2010
Сообщений: 113
29.12.2010, 00:27     Стеки и очереди #1
Здраствуйте!
Не могу понять как реализовать.
Система состоит из двух процессоров P1 и P2 и трёх очередей F1, F2, F3 и стека. В систему поступают запросы. Запрос можно представить записью.
Type
TInquiry= record
Name: String[10]; {имя запроса}
Time: Word; {время обслуживания}
Р: Byte;{приоритет задачи 0-высший,
1-средний, 2-низший}
end;
Поступающие запросы ставятся в соответствующие приоритетам очереди. Сначала обрабатываются задачи из очереди F1. Задача из очереди F1 поступает в свободный процессор P1 или P2, если оба свободны, то в P1. Если очередь F1 пуста, то обрабатываются задачи из очереди F2. Задача из очереди F2 поступает в свободный процессор P1 или P2, если оба свободны, то в P1. Если очереди F1 и F2 пусты, то обрабатываются задачи из очереди F3. Задача из очереди F3 поступает в свободный процессор P1 или P2, если оба свободны, то в P2. Если процессоры заняты и поступает задача с более высоким приоритетом, чем обрабатываемая в одном из процессоров, то задача из процессора помещается в стек, а поступающая - в процессор. Задача из стека поступает в один из освободившихся процессоров, если все задачи с более высоким приоритетом уже обработаны.

написала код из методички
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
//------------------------------------------------------------
 
---------------
 
#include <vcl.h>
#pragma hdrstop
#include <stdio.h>
#include <tchar.h>
#include <iostream>
#include <iomanip>
#include <time.h>
#include <vector>
#include <string>
#include <algorithm>
#include <conio.h>
#include <stdlib.h>
#include <fstream.h>
#include <tchar.h>
 
//------------------------------------------------------------
 
---------------
 
#pragma argsused
struct stack          //объявление стека
{int dann;
    stack *prev; };
    stack *top=NULL;
void push (int a)    //добавление элемента в стек
{stack *q;
q=new stack;
q->prev=top;
q->dann=a;
top=q;
}
int pop(void)       //удаление элемента из стека
{stack *q;
int temp;
if (!top) cout<<"\nCTek pycT"; else
 { temp=top->dann;
 q=top->prev;
 delete top;
 top=q;
 
}      return temp;
}
int peek(void)       //выдача значения верхнего элемента
{int temp;
if (!top) {
    cout<<"\nCTek pycT";
    exit(1);
}
temp=top->dann;
return temp;
}
void clear (void)       //очистка стека
{stack *q;
while (top){
    q=top->prev;
    delete top;
    top=q;
}
}
 struct queue {      // объявление очереди
     int dann;
     queue *next;
 };
 queue* front=NULL;
 queue* rear=NULL;
 int k=0;
   void qinsert(int a)    //добавление элемента в очередь
   {queue *q;
   q=new queue;
   if (k==0)  front=q;
       else rear->next=q;
       q->dann=a;
       rear=q;
       rear->next=NULL;
       k++;
   }
   int qdelete(void)   //удаление элемента из очереди
   {queue *q;
   int temp;
   if (!front) cout<<"\nO4ePeD pycTa";
   else { temp=front->dann;
   q=front->next;
   delete front;
   front=q;
   k--;
   }
   return temp;
   }
     int qfront (void)     //выдача значения первого 
 
элемента
     {int temp;
     if (!front) { cout<<"\n nonblTka c4uTaTb DaHHbIe uz 
 
nucToj O4ePeDu";
     exit(1);
     }
     temp=front->dann;
     return temp;
     }
     void qclear (void)  //очистка очереди
     {queue *q;
     while (front) {
         q=front->next;
     delete front;
     front=q;
     k--;
     }
     }
int _tmain(int argc, _TCHAR* argv[])
{
 
}
//------------------------------------------------------------
 
---------------
Помогите, пожалуйста хотя бы примерно. Очень плохо знаю синтаксис. Понимаю само задание и что от меня требуется. Понимаю что такое стек и очередь. Не понимаю как это реализовать. Что именно и где писать в коде

Добавлено через 32 минуты
Помогите пожалуйста надо в течение 4 часов
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.12.2010, 00:27     Стеки и очереди
Посмотрите здесь:

Списки, стеки, очереди C++
C++ 4 задания по С++ (Бинарные деревья. Стеки,очереди)
C++ Бинарные деревья, очереди, стеки
Стеки, очереди, массивы C++
Списки. Стеки. Очереди C++
Очереди и стеки C++
Задача на тему Стеки, очереди, деки, списки, кольца C++
C++ Задания на стеки/очереди (без шаблонных классов stack, queue)

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 16:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru