Форум программистов, компьютерный форум, киберфорум
Наши страницы
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
Kuchisake
0 / 0 / 0
Регистрация: 24.08.2012
Сообщений: 6
#1

Программа с кольцевым списком

24.08.2012, 20:22. Просмотров 746. Ответов 6
Метки нет (Все метки)

Здравствуйте .
С паскалем я не очень дружу, а тут надо написать программу. Понятия не имею как это сделать.
Помогите пожалуйста!
Вот само задание :
"написать программу для решения следующей задачи:
Описать подпрограмму, которая включает новое звено после звена L. В основной программе задается однонаправленный кольцевой список и L"

Заранее Огромное спасибо!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.08.2012, 20:22
Ответы с готовыми решениями:

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

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

Работа с однонаправленным списком
Всем привет! Столкнулся с такой проблемой: Дан линейный однонаправленный...

Основные операции работы со списком
реализуйте основные операции для список : добавление элемента в конец и в...

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

6
Puporev
Модератор
54348 / 41941 / 28977
Регистрация: 18.05.2008
Сообщений: 98,786
24.08.2012, 20:29 #2
Почитайте эту тему
Динамические структуры данных (списки, очереди, стеки, деревья)
кстати в списке она как раз над Вашей...
1
Kuchisake
0 / 0 / 0
Регистрация: 24.08.2012
Сообщений: 6
24.08.2012, 22:42  [ТС] #3
Я прочел, но честно говоря мало что понял.
Вы уж извините, но с указателями и вообще со списками и прочим я очень плохо знаком. Поэтому и обратился за помощью.
0
Puporev
Модератор
54348 / 41941 / 28977
Регистрация: 18.05.2008
Сообщений: 98,786
25.08.2012, 11:18 #4
Цитата Сообщение от Kuchisake Посмотреть сообщение
новое звено после звена L.
L это номер элемента в списке или его значение? И какой тип информационного поля.
0
Kuchisake
0 / 0 / 0
Регистрация: 24.08.2012
Сообщений: 6
25.08.2012, 13:56  [ТС] #5
К сожалению, знаю не больше, чем в задании сказано. Раз конкретики нет, то наверное можно взять то, с чем удобнее работать.
0
Puporev
Модератор
54348 / 41941 / 28977
Регистрация: 18.05.2008
Сообщений: 98,786
25.08.2012, 15:20 #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
uses crt;
type TList=^List;{структура ячейки}
     List=record {элемент списка}
           data:integer; {значение}
           next:TList;{указатель на следующий элемент}
           end;
{процедура вставки за элементов с заданным номером}
procedure Add(p,q:TList;n,L,x:integer);
var z,w:TList;
    i:integer;
begin
if(L<1)or(L>n)then
 begin
  writeln('Такого номера нет в списке');
  readln;
  exit
 end;
i:=0; {ищем место для вставки}
w:=q;
while i<L do
 begin
  i:=i+1;
  w:=w^.next;
 end;
new(z);{создаем новую ячейку}
z^.data:=x;
z^.next:=w^.next;
w^.next:=z; {раздвигаем список}
end;
{вывод списка на экран}
procedure Print(p,q:TList);
begin
p:=q^.next;{ставим указатель на начало}
while p^.next<>q^.next do{пока следубщий элемент не первый}
 begin
  write(p^.data,' ');
  p:=p^.next;
 end;
if p^.next=q^.next then write(p^.data);{последний элемент}
writeln;
end;
var s:TList;{указатель на элемент списка}
    nach:TList;{указатель на начало списка}
    tmp:TList;{вспомогательный указатель}
    n,i,L,x:integer;
begin
clrscr;
repeat
write('Сколько элементов ввести в список n=');
readln(n);
until n>1;
{первый элемент}
new(nach);{указатель начала списка}
tmp:=nach;{ставим указатель на него}
{заполняем список}
for i:=1 to n do
 begin
  new(s);{выделяем память под ячейку}
  s^.data:=i; {присваиваем значение}
  tmp^.next:=s;{связываем 2 элемента}
  tmp:=s;{переход указателя на созданную ячейку}
 end;
s^.next:=nach^.next;{свяжем последний элемент с заглавным}
{выведем список на экран}
writeln('Исходный список:');
Print(s,nach);
write('После какого элемента вставить L=');
readln(L);
write('Какое число вставить x=');
readln(x);
Add(s,nach,n,L,x);
writeln('Вставка элемента:');
Print(s,nach);
readln
end.
1
Вложения
Тип файла: zip KOL_SPIS.zip (997 байт, 9 просмотров)
Kuchisake
0 / 0 / 0
Регистрация: 24.08.2012
Сообщений: 6
25.08.2012, 15:22  [ТС] #7
Огромное спасибо вам)!
0
25.08.2012, 15:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.08.2012, 15:22

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

Очередь с кольцевым буфером
Добрый день. Решаю вобщем одну задачку, но сомневаюсь в правильности и...

Программа со списком
Всем доброго времени суток! Хотел бы уточнить через какую оболочку запускать...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru