Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 07.10.2020
Сообщений: 39

Структура данных на основе статической памяти

26.05.2021, 15:42. Показов 759. Ответов 2

Студворк — интернет-сервис помощи студентам
Что здесь не так? Почему мне пишет про record?

Программа для работы со структурой данных "Кольцевой двухсвязный список".

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
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
Program LB6;
Uses crt;
const maxlen=5;
type
elemtype=ineger;
list=record elems:array[1..maxlen] of elemtype;
last:ineger;
end;
type
 elem_type=integer;
 list=record elems:array[1..max_elem] of elem;
 elem:=record first:byte info:elem_type; 
 end;
 next: byte 
 end;
 
 elem=record; 
 list=record info:elem_type;
 next, prev:byte;
 end;
 
 elems:array[1..max_elem] of elem;
 first, last:byte
 end;
 
L.elems[new_el].next:=L.elems[cur].next;
L.elems[new_el].prev:=L.elems[cur+1].prev;
L.elems[1].next
 
 
 
 
var L:list; ch; d; integer;
procedure make_null(var L:list);
begin
L.last:=0 end;
procedure insert(var L:list; x:elemtype; i:integer);
var p: integer;
 begin
 for p:=L.last downto i do
 L.elems[p+1]:=L.elems[p];
 L.elems[i]:=x;
 L.last:=L.last+1;
 end;
 procedure delete (var L:list; i:integer);
 var p:intger;
 begin
 for p:i to L.last-1 do
 L.elems[p]:=L.elems[p+1];
 L.last:=L.last-1
 end;
 
 
 
 procedure case_menu;
 begin
 Writeln ('Выберите пункт:');
 Writeln (1.'добавить элемент');
 Writeln (2.'удалить элемент');
 Writeln (3.'количество элементов списка');
 Writeln (4.'вывести список эл');
 Writeln (5.'Выход');
 end;
 
 function is_full(var L:list):boolen;
 begin is_full:=L.last=maxlen
 end;
 function is_empty(var L:list):boolean;
 begin is_empty:=L.last=0
 end;
 function is_valid(var L:list; i:integer):boolean;
 begin is_valid:=(1<=i) and (i<=L.last) 
 end;
 begin
 case_menu;
 repeat
 writeln('Быберите пункт в меню');
 Readln(ch);
 case ch of
 1:begin
 make_null(1);
 for i:=1 to 7 do
 1.elems[i]:=0;
 writeln('Список обнулён');
 writeln('');
 end;
 2:begin
 Writeln('Введите элемент');
 Readln(x);
 Writeln('На каком месте?');
 Readln(i); clrscr;
 if is_valid(1, i-1) then insert(1,x,i)
 else Writeln('Не верно i');
 case_menu;
 end;
 3:begin
 Writeln('Введите элемент');
 Readln(x);
 Writeln ('На каком?');
 Readln(i);
 l.elems[i]:=0;
 if is_valid(1,i) then delete(1, x, i)
 else Writeln('Не верно i');
 l.elems[l.last+1]:=0
 case_menu;
 end;
 4:begin
 case_menu;
 Writeln('Элемент в списке - ', l.last);
 end;
 5:begin
 for i:=1 to 1.last do
 write(l.elems[i]);
 writeln(l);
 end;
 end;
 until ch=0;
 end.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.05.2021, 15:42
Ответы с готовыми решениями:

Реализация элементарных структур данных на основе статической памяти
1.*Написать программу для работы со структурой данных &quot;Двусвязный список&quot;. 2.*Структура данных должна быть реализована на основе...

Двусвязный список на основе статической памяти
Помогите, нужно создать двусвязный список но без использования динамических структур(только статика)

Кольцевой двухсвязный список на основе статической памяти (Ошибка)
Почему в 112 строчке мне пишет ошибку? И что тут не правильно? Program LB6; Uses crt; const max_elem=20; Type ...

2
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
26.05.2021, 16:36
Цитата Сообщение от feijoa24 Посмотреть сообщение
ineger;
Что такое?

Добавлено через 1 минуту
А это типа вложенная запись?
Цитата Сообщение от feijoa24 Посмотреть сообщение
list=record elems:array[1..max_elem] of elem;
 elem:=record first:byte info:elem_type;
 end;
 next: byte
 end;
Таких типов не бывает!

Добавлено через 30 секунд
А это что такое?
Цитата Сообщение от feijoa24 Посмотреть сообщение
elem=record;
Добавлено через 53 секунды
А! Понял: это снова вложенные записи:
Цитата Сообщение от feijoa24 Посмотреть сообщение
elem=record;
 list=record info:elem_type;
 next, prev:byte;
 end;
elems:array[1..max_elem] of elem;
 first, last:byte
 end;
0
0 / 0 / 0
Регистрация: 07.10.2020
Сообщений: 39
26.05.2021, 23:54  [ТС]
лять, всё не правильно?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.05.2021, 23:54
Помогаю со студенческими работами здесь

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

Структура данных. Разработать приложение на основе деревьев
здравствуйте, подскажите идею что можно сделать и как можно реализовать программу по заданию&quot;структура данных. разработать приложение...

Динамическая структура данных в форме односвязного списка на основе указателей
Не могли вы написать простенький пример программы на языке С++, Delphi или даже псевдокоде, которая реализует алгоритмы основных операций...

Список на основе статической структуры
Реализовывал список на основе статической структуры, и куда-то пропадает строка 5 и 17 при выводе. Подскажите, пожалуйста, в чем проблема! ...

Реализация элементарных структур данных на основе динамической памяти
1.*Написать программу для работы со структурой данных &quot;Односвязный список&quot;. 2. Структура данных должна быть реализована на основе...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере 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