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

Работа с приоритетной очередью - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Дуги http://www.cyberforum.ru/cpp-beginners/thread577293.html
14. Составить программу, заполняющую экран дугами окружностей разных цветов. Как примерно должна выглядеть программа #include<dos.h> #include<conio.h> #include<graphics.h> #include<stdlib.h> void main() { int dr=DETECT,mod,a,b;
C++ Комплексные числа 2. Даны два комплексных числа в алгебраической форме. Найти их произведение. Пример //Лаб.раб.№ 1. Линейная программа. #include <iostream.h> //Для потокового ввода - вывода #include <conio.h> //Для работы операторов clrscr()и getch() #include <math.h> //Для реализации sqrt() void main() http://www.cyberforum.ru/cpp-beginners/thread577292.html
C++ Массивы
Задание 11. Упорядочить элементы одномерного массива по возрастанию модулей элементов. Пример 3.3.Текст программы #include<iostream.h> #include<conio.h> #include<stdlib.h> void main() { int i,k=0,k1=0,j,n;
Циклические сдвиги C++
доброго времени суток, уважаемые форумчане. напишите пожалуйста код к задаче, от этого зависит получу ли я талон или нет: Циклические сдвиги Запишем целое десятичное число N в двоичной системе счисления и образуем все левые циклические сдвиги числа N, у которых первая цифра числа переносится в конец. Например, если N = 11, то в двоичной системе это 1011, его циклические сдвиги: 0111,...
C++ ввод строки http://www.cyberforum.ru/cpp-beginners/thread577265.html
вводиться строка. как выделить память под ровно то количество символов, которое ввели. как-то можно сначала узнать количество символов в буфере типа pbuf->in_avail(); ?
C++ Исправить ошибки в коде Доброй вечер программисты. Пожалуйста помогите исправить ошибку в задаче. Если ввести матрицу 2x2, и ее эл-ты равны -1 -1 и -1 -1 соответственно, то #pragma hdrstop #include<iostream.h> #include<conio.h> #include<stdlib.h> //--------------------------------------------------------------------------- #pragma argsused int main(int argc, char* argv) {int **a, n, m, p, b; подробнее

Показать сообщение отдельно
Frayerok
 Аватар для Frayerok
11 / 11 / 1
Регистрация: 19.12.2009
Сообщений: 59
17.05.2012, 01:53     Работа с приоритетной очередью
Здравствуйте уважаемые форумчане. Нужно написать программу работы с приоритетной очередью. Вот собственно задание: "Есть 2 очереди, организованные на массивах и списках. Вторая очередь приоритетная. Постановление процессов в очередь выполняется подряд в начало второй очереди, процесс сразу начинает исполнятся. После прерывания, процесс становится в первую очередь. Исполнение LIFO."
Вот кое какие наброски, но скорее всего, здесь нужно будет подправить логику работы программы.
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
# include <iostream.h>
# include <conio.h>
# include <stdlib.h>
# include <stdio.h>
# include <time.h>
 
struct d {
    int s;
    d *n;
    d *p;
    };
 
void main(void) {
     clrscr();
     randomize();
     int m[3][7]={{-7,20,-1,1,12},{11,-12,33,17,0,-32,50},{3,22}};
     int k[3]={5,7,2};
     int s[2]={3,1};
     int tm[3]={0,2,10};
     int ts[2]={15,20};
     int t;
     d *begin[2]={NULL,NULL};
     d *last=NULL;
     d *list=NULL;
     for (int j=0;j<2;j++)
      for(int i=0;i<s[j];i++)
    if (begin[j]==NULL)
        {last=new d;
         begin[j]=last;
         last->s=random(10)-5;
         last->p=NULL;
         last->n=NULL;
         list=last;}
     else {last=new d;
           list->n=last;
           last->s=random(10)-5;
           last->p=list;
           last->n=NULL;
           list=last;}
     int dod,dod1[7];
     for (int i=0;i<3;i++)
    for (j=0;j<k[i];j++)
        for (int y=0; y<k[i]; y++)
         if (m[i][j]>m[i][y])
          {dod=m[i][j];m[i][j]=m[i][y];m[i][y]=dod;}
     for (i=1;i<3;i++)
    for (j=1;j<3;j++) if (m[i][0]>m[j][0])
          {for (int t=0;t<7;t++) {dod1[t]=m[i][t];m[i][t]=m[j][t];m[j][t]=dod1[t];};
           dod=tm[i];tm[i]=tm[j];tm[j]=dod;
           dod=k[i];k[i]=k[j];k[j]=dod;}
 
     for (i=0;i<2;i++){
      last=begin[i];
      while(last){
       list=begin[i];
       while(list){
    if (last->s>list->s) {int l1=list->s;
                  list->s=last->s;
                  last->s=l1;}
    list=list->n;
    }
       last=last->n;
      }}
 
     textcolor(10);
       cprintf("ЙННННННННННННННННННЛННННННЛНННННННННННННННН»\n");
     gotoxy(1,1);
     cprintf("\nєVremya postuplena єProcesє Vremya ispolnjaє");
     cout<<"\r\n";
     cprintf("-------------------------------------------");
     cout<<"\n";
     int k11=3;
     for (i=0;i<3;i++)
    for (j=0;j<k[i];j++){
      cout<<"        "<<tm[i];
      gotoxy(22,k11);
      cout<<m[i][j];
      gotoxy(36,k11);
      textcolor(i+1);
      cout<<random(2)+3<<"\n";
      k11++;}
     cout<<"\n";
 
     for (i=0;i<1;i++)
      for (j=i+1;j<2;j++)
       if (begin[i]->s<begin[j]->s)
    {d *l1=begin[i];
     begin[i]=begin[j];
     begin[j]=l1;}
     k11=18;
     for (i=0;i<2;i++){
      last=begin[i];
      while(last){
    cout<<"        "<<ts[i];
    gotoxy(22,k11);
    cout<<last->s;
    gotoxy(36,k11);
    cout<<random(2)+3<<"\n";
    k11++;
    last=last->n;
      }}
     getch();
    }
Заранее благодарен.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 12:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru