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

Двунаправленные списки

26.05.2010, 21:53. Показов 1727. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите, пожалуйста, с решением задачи на двунаправленные списки
Дан двунаправленный список целых чисел. Переставить элементы списка так, чтобы сначала следовали элементы, являющиеся числами Фибоначчи, а затем остальные элементы списка.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.05.2010, 21:53
Ответы с готовыми решениями:

Двунаправленные списки
Подскажите пожалуйста как решить задачу с двунаправленными списками!Как они формируются?Это тоже...

Двунаправленные списки
Всем привет! На форуме нашел мануал по работе со списками, но как то не проникся идеей. Помогите...

Двунаправленные списки: общая организация, основные функции
Пом-гите решить, заранее благодарен Билет 2 1 Двунаправленные списки: общая организация,...

Двунаправленные списки. Вывести положительные элементы, оба соседа которых - отрицательные
Вывести в обратном порядке все числа для которых выполняется условие : оба его " соседи "...

3
0 / 0 / 0
Регистрация: 26.05.2010
Сообщений: 9
28.05.2010, 00:54  [ТС] 2
Задача решена
0
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
28.05.2010, 01:35 3
KaTaLoNeC, сделал(-а) сам(-а), помоги другим, запостив код в теме.
0
19 / 19 / 12
Регистрация: 21.08.2010
Сообщений: 136
21.09.2010, 14:21 4
немного запутался с составлением аналогичной программы, не подскажите какая должна быть процедура "fib" (определяет, является ли элемент списка числом фибоначчи и переставляет его в начало списка).

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
program spis;
uses crt;
type
pnode=^tnode;
tnode=record
val:integer;
pred,next:pnode;
end;
var
first,last,temp,temp2:pnode;
i,n,x,g:integer;
y:array[1..10] of integer;
 
procedure vvod(var first1,last1:pnode; xx:integer);
begin
if first1=nil then
begin
new(first1);
first1^.next:=nil;
first1^.pred:=nil;
last1:=first1;
end else
begin
new(last1^.next);
last1^.next^.pred:=last1;
last1:=last1^.next;
last1^.next:=nil;
end;
last1^.val:=xx;
end;
 
procedure fib(m:integer);
var i,j,k:integer;
temp,temp2:pnode;
begin
i:=1; j:=1; k:=1;
while k<m do
begin
k:=j+i;
i:=j;
j:=k;
end;
if k=m then
begin
 
while temp^.next<>nil do
begin
temp:=first;
if temp^.next^.val=m then begin
temp2:=temp^.next;
temp2^.pred:=temp^.pred;
temp^.next:=temp2^.next;
temp2^.next:=temp;
temp^.pred:=temp2;
end;
temp:=temp^.next;
end;
end;
end;
 
procedure vivod(first1:pnode);
begin
if first1=nil then
begin
writeln('Spisok pust');
exit;
end;
while first1<>nil do
begin
writeln(first1^.val);
first1:=first1^.next;
end;
end;
 
 
begin
clrscr;
write('n='); readln(n);
for i:=1 to n do
begin
write('x='); readln(x);
vvod(first,last,x);
y[i]:=x;
end;
for i:=1 to n do
begin
fib(y[i]);
end;
vivod(first);
readln;
end.
0
21.09.2010, 14:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.09.2010, 14:21
Помогаю со студенческими работами здесь

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

Двунаправленные списки
type zapis=record famil:string; name:string; otch:string; fakul:string; ...

Двунаправленные связные списки
Помогите написать программу на TurboPascal для двунаправленных связных списков, она должна...

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


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru