Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 26.10.2021
Сообщений: 20

Приоритетная очередь на массиве с циклическим заполнением без сдвига

16.12.2021, 17:15. Показов 1297. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Переделать код Pascal в С++
Pascal
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
 const
     min = -maxint;
 type     
pZapros =^tZapros;     
tZapros = record       
Pri  : Integer;       
next : pZapros;     
end;   
var     
Beg,Cur : pZapros;     
Sel : Byte;     
procedure View;   
var     
Cur : pZapros;   
begin     
Cur:=Beg; 
writeln;  
write('Очередь ');     
if cur^.next=nil then begin       
writeln('пуста.');       
exit;     
end;     
Cur:=Cur^.Next;     
while cur<>nil do begin       
write(Cur^.Pri:4);       
Cur:=Cur^.Next;     
end;     
writeln;   
end;     
procedure SetZapros;   
var     
Cur,Store : pZapros;     
p : Integer;   
begin     
Write('Введите приоритет запроса : '); readln(p);
     Cur:=Beg;     
while (Cur^.next<>nil) and (Cur^.Next^.Pri>P) do        
Cur:=Cur^.Next;     
Store:=Cur^.Next;     
New(Cur^.Next); Cur:=Cur^.Next;     
Cur^.Next:=Store; Cur^.Pri:=p;     
View;   
end;     
 
procedure OutZapros;   
var     
Cur : pZapros;   
begin     
Cur:=Beg^.next;     
if Cur=nil then begin       
writeln('=== запрос не может быть выдан, очередь пуста.');       
exit;     
end;     
Writeln('=== Выдан запрос с приоритетом  ',Cur^.Pri); Cur^.Pri:=min;
     Dispose(Beg); beg:=cur; 
    writeln;   
end;
    Begin   
 New(Beg); beg^.Next:=nil; beg^.Pri:=min;  
  repeat 
     writeln; 
     writeln('1 - Установить запрос.');      
writeln('2 - Выдать запрос.');
      writeln('3 - Просмотр очереди запросов.');
      writeln('4 - Выход из программы.');
      write('Ваш выбор : '); Readln(Sel);
      case Sel of        
1: SetZapros; 
       2: OutZapros; 
       3: View;
      end;    
until Sel=4;      
while Beg<>nil do begin      
Cur:=Beg^.Next;      
Dispose(Beg);      
Beg:=Cur;    
end;  
End.


Так как я никогда не учил Pascal нормально не могу написать код на С++. Только можно массив вбить в это задание. Если нужно условие то могу его скинуть

Добавлено через 40 секунд
Задана приоритетная очередь. Установка запросов в очередь
выполняется подряд в конец очереди, снятие – по приоритету. Приоритет: мах
значение числового параметра, при совпадении параметров – FIFO.
Особенности статической реализации: Очередь организована на массиве
циклическим заполнением без сдвига.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.12.2021, 17:15
Ответы с готовыми решениями:

Приоритетная очередь, организованная на массиве с циклическим заполнением
Привет, ребят! Прошу о помощи с выполнением задания на С++ Вот, собственно, задание: Разработать подпрограммы работы с приоритетной...

Реализация списка на массиве с циклическим заполнением
Реализовать динамический список. дополнительно реализовать алгоритм (и функцию) слияния двух списков в следующей последовательности: ...

Разработать программу работы с деком, организованным в массиве с циклическим заполнением и смещением
Разработать подпрограммы, которые обеспечивают запросы на запись или чтение данных из очереди, стека или дека. Для организации указанных...

10
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
16.12.2021, 19:35
Ну ты хоть что-то сделал? Сопоставить WriteLn() и printf() сможет любой.
0
0 / 0 / 0
Регистрация: 26.10.2021
Сообщений: 20
17.12.2021, 10:54  [ТС]
Если честно никогда не учил Pascal и в конце кода перед ссесией не хочу уходить в него. До этого я про этот язык только слышал но никогда им не пользовался.
0
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,244
17.12.2021, 11:05
Цитата Сообщение от aks1n3d Посмотреть сообщение
не учил Pascal
Так зачем тогда надо было искать программу на нем?
0
0 / 0 / 0
Регистрация: 26.10.2021
Сообщений: 20
17.12.2021, 11:12  [ТС]
Я пытался найти прогу на C++, но единственное что я смог найти это на Pascal
0
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,244
17.12.2021, 11:32
Цитата Сообщение от aks1n3d Посмотреть сообщение
Я пытался найти прогу на C++
Может, все-таки, поделитесь, условием решаемой задачи.
Вдруг, она уже есть!
0
0 / 0 / 0
Регистрация: 26.10.2021
Сообщений: 20
17.12.2021, 11:35  [ТС]
Задана приоритетная очередь. Установка запросов в очередь
выполняется подряд в конец очереди, снятие – по приоритету. Приоритет: мах
значение числового параметра, при совпадении параметров – FIFO.
Особенности статической реализации: Очередь организована на массиве
циклическим заполнением без сдвига.
0
0 / 0 / 0
Регистрация: 26.10.2021
Сообщений: 20
18.12.2021, 01:56  [ТС]
Я так полагаю вы не нашли?
0
0 / 0 / 0
Регистрация: 26.10.2021
Сообщений: 20
21.12.2021, 14:42  [ТС]
@zss
@nmcf
Вы мне сможете помочь? Пожалуйста
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
21.12.2021, 20:12
Лучший ответ Сообщение было отмечено aks1n3d как решение

Решение

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
#include <cstdio>
#include <climits>
 
const int min = INT_MIN;
 
struct tZapros
{
    int Pri;
    tZapros *Next;
};
 
 
tZapros *Beg, *Cur;     
int Sel;     
 
void View()
{
    tZapros *Cur;
    Cur = Beg;
    printf("\nОчередь ");
    if (!Cur->next)
    {
        printf("пуста.\n");
        return;
    }
    Cur = Cur->Next;
    while (Cur)
    {
        printf("%4i", Cur->Pri);
        Cur = Cur->Next;
    }
    printf("\n");
}
 
void SetZapros()   
{
    tZapros *Cur, *Store;     
    int p;   
    printf("Введите приоритет запроса : "); scanf("%i", &p);
    
    Cur = Beg;     
    while (Cur->Next && Cur->Next->Pri > p) Cur = Cur->Next;     
    
    Store = Cur->Next;     
    Cur->Next = new tZapros; Cur = Cur->Next;     
    Cur->Next = Store; Cur->Pri = p;     
    View();
}
 
void OutZapros()  
{
    tZapros *Cur;   
    Cur = Beg->Next;     
    if (!Cur)
    {
        printf("=== запрос не может быть выдан, очередь пуста.\n");       
        return;     
    }
    printf("=== Выдан запрос с приоритетом  %i\n", Cur->Pri); Cur->Pri = min;
    delete Beg;
    Beg = Cur; 
    printf("\n");
}
 
int main()
{
    Beg = new tZapros;
    Beg->Next = NULL; Beg->Pri = min;  
    
    do
    {   
        printf("\n1 - Установить запрос.\n2 - Выдать запрос.\n3 - Просмотр очереди запросов.\n4 - Выход из программы.\nВаш выбор : ");      
        scanf("%i", &Sel);
        switch (Sel)
        {
        case 1: SetZapros(); break;
        case 2: OutZapros(); break;
        case 3: View();
        }
    } while (Sel != 4);
    
    while (Beg)
    {
        Cur = Beg->Next;      
        delete Beg;      
        Beg = Cur;    
    }
}
1
0 / 0 / 0
Регистрация: 26.10.2021
Сообщений: 20
21.12.2021, 21:30  [ТС]
Спасибо вам огромное!!!!!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.12.2021, 21:30
Помогаю со студенческими работами здесь

Разработать подпрограммы работы с деком. Дек организован в массиве с циклическим заполнением и со смещением
Разработать подпрограммы работы с деком. Дек организован в массиве с циклическим заполнением и со смещением. Операции выполняются с разных...

Приоритетная очередь
Разработать подпрограммы работы с приоритетной очередью. Постановка запросов в очередь выполняется подряд в конец очереди, снятие – по...

Приоритетная очередь
Разработать подпрограммы работы с приоритетной очередью. Постановка запросов в очередь выполняется по приоритету, снятие - подряд из...

Приоритетная очередь
Не получается реализовать приоритетную очередь на типе T,чтобы я смог сравнивать в ней строки( по длине строки),делал проще,создавал приор....

Приоритетная очередь
Задано пріоритетну чергу. Встановлення запитів в чергу виконується по пріоритету, зняття – з молодших адрес (початок черги). Черга ...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru