Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/25: Рейтинг темы: голосов - 25, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 23.05.2015
Сообщений: 17
1

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

24.05.2015, 13:43. Показов 4676. Ответов 1
Метки нет (Все метки)

Построить динамическую структуру типа список . Необходимо реализовать следующие процедуры:
1. создание списка.
2. печать списка на экран
3. добавления элемента в начало списка , конец списка
4. поиск записи по данным ключом.
5. изъятия записи из списка .
6. Удаление всего списка
Выбор необходимой процедуры пользователем должен осуществляться из меню программы . Меню должно предусматривать также выход из программы

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
119
120
121
122
123
124
program list_proc;
uses crt;
type sviaz=^zveno;
zveno=record
elem:integer;
sled:sviaz;
end;
var p,t:sviaz;
i:integer;
c:char;
n:integer;
procedure standart;
begin
window (0,0,24,79);
textbackground(black);
textcolor(white);
clrser;
end;
procedure menu;
forward;
procedure listInit (var tek:sviaz);
var k:integer;
begin standart;
writeln('spisok iniciirovan');
tek:=nil;
writeln('dlya vyhoda nazhm enter');
readln;
menu;
end;
procedure DobNach(var tek:sviaz);
var k:integer;
Dob:sviaz;
begin
standart;
writeln('vvedite elementy spiska cherez probel do nazhatiya enter');
while not eoln do begin
readln(k);
new(dob);
dob^.elem:=k;
dob^.sled:=tek;
tek:=dob;
writeln('dlya vyh v menu nazm enter');
readln;
menu;
end;
procedure dobkon(var tek:sviaz);
var e:integer;
p,dob:sviaz;
begin
standart;
new(dob);
writeln('vvedite dobavlyaemoe zveno v konec spiska');
readln(e);
dob^.elem:e;
dob^.slad:nil;
if tek=nil then tek:=dob else begin p:tek;
while p^.sled<>nil do p:=p^.sled;
p^.sled:=dob;
end;
writeln('dlya vyh nazm enter');
readln;
menu;
end;
procedure print(tek:=sviaz);
begin
standart;
write ('>');
while tek<>nil do begin
write (tek^.elem);
if tek^.sled<>nil then write(',');
tek:=tek^.sled;
end;
writeln;
writeln('dlya vyh v menu jmite enter');
readln;
menu;
end;
procedure dellall(var tek:sviaz);
var p:sviaz;
begin
writeln('udalit ves spisok Y/N?');
readln(c);
if c in['Y','y','N','n']then begin
while tek<>nil go begin
p:tek;
tek:tek^.sled;
dispose(p);
writeln('dlya vyh v menu jmite enter');
readln;
menu;
end;
procedure menu;
begin
elrser;
window(20,8,60,25);
textcolor(red);
textbackground(yellow);
elrser;
gotoxy(10,7);
writeln('MENU')
writeln('1-sozd sriska');
writeln('2-prosmotr spiska');
writeln('3-dobav v nacalo');
writeln('4-dobavl v konec');
writeln('5-udalenie spiska');
writeln('6-vuhod');
repeat;
writeln('vash vybor');
writeln('');
readln(c);
until c in['1','2','3','4','5','6'] case c of
'1':listInit(t);
'2':print(t);
'3'dobnach(t);
'4':dobkon(t);
'5':delall(t);
'6':halt;
end;
end;
Begin
standart;
menu;
readln;
end.
Выдает ошибку помогите дорешать
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.05.2015, 13:43
Ответы с готовыми решениями:

Работа с деками. Найти среднее арифметическое списка, добавить его в качестве нового элемента в начало и конец списка
D - список действительных чисел. Найти среднее арифметическое списка, добавить его в качестве...

Создать процедуру для добавления элемента в заданную позицию списка и вывода списка на экран
Вот у меня есть готовая программа.Объясните мне пожалуйста каждую строчку чтоб я понял.Желательно...

Разработать алгоритм и программу добавления элемента в начало и в конец однонаправленного линейного списка
Разработать алгоритм и программу добавления элемента в начало и в конец однонаправленного линейного...

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

1
281 / 280 / 83
Регистрация: 03.02.2013
Сообщений: 808
24.05.2015, 17:36 2
NiceOld
Выдает ошибку
Вы серьёзно? да их тут с десяток, не меньше, мне даже интресно каким образом этот код родился, скорее всего содрали откуда-то криво... других идей нет...
я не приемлю такое обучение, либо вы пытаетесь разобраться в коде, либо если вам тупо зачёт получить не разбираясь, то рулите на местном уровне...
пройдусь по ошибкам синтаксиса:
1)
Pascal
1
clrser;
такого нет, есть clrscr;
2) в процедуре DobNach не указан end для тела цикла while not eoln ...
3-6) в процедуре dobkon строчки
Pascal
1
2
3
dob^.elem:e;
dob^.slad:nil;
if tek=nil then tek:=dob else begin p:tek;
сразу четыре ошибки, конечно, надо:
Pascal
1
2
3
dob^.elem:=e;
dob^.sled:=nil;
if tek=nil then tek:=dob else begin p:=tek;
7)
Pascal
1
procedure print(tek:=sviaz);
вы разницу между знаками ":" и ":=" знаете? где и когда что используется? конечно
Pascal
1
procedure print(tek:sviaz);
8)
Pascal
1
 while tek<>nil go begin
go? простите... это откуда вообще? ну допустим опечатка, правильно do
9-10) в dellall
Pascal
1
2
p:=tek;
tek:tek^.sled;
то же, что и раньше
11) в той же dellall нет закрывающихся операторных скобок для условия if и цикла while
12-13) в теле main есть две строчки
Pascal
1
elrser;
см первую ошибку
14)
Pascal
1
2
writeln('MENU')
writeln('1-sozd sriska');
нет ограничителя ; в конце операции writeln
15)
Pascal
1
until c in['1','2','3','4','5','6'] case c of
снова нет ограничителя у repeat ... until
16)
Pascal
1
2
3
'2':print(t);
'3'dobnach(t);
'4':dobkon(t);
вас не смутило отсутствие ":" в пункте 3?
17)
Pascal
1
'5':delall(t);
delall у вас не было, было dellall

и это только ошибки синтаксиса...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.05.2015, 17:36

Уменьшить каждое 2 значение списка на 1 и удалить конец списка после заданного элемента
Уменьшить каждое 2 значение списка на 1 и удалить конец списка после заданного элемента X. ...

"Сортировка двусвязного списка путем исключения элемента с минимальным значением и включения его в начало нового списка
Здравствуйте! Возникла проблема с программой. Тема: &quot;Сортировка двусвязного списка путем исключения...

Создание двойного связного списка целых чисел, вводимых с клавиатуры; печать списка
Люди помогите, нужно сдать последнюю Лабу. Задача: Написать программу которая создает двойной...

Функция добавления элемента в конец списка
Есть ли в java похожая функция добавления элемента в конец списка, как на питоне - append? k = ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru