IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Повернуть список
neic
сообщение 30.11.2007 21:19
Сообщение #1


Студент 3-к группы (ИГТК)
*

Группа: Пользователи
Сообщений: 32
Пол: Мужской
Реальное имя: Артём

Репутация: -  1  +


Народ подскажите процедуру поворота списка, а то я скоро уже с ума сойду.

Например вводим с клавиатуры (признаком окончания ввода является цифра 0): 1 2 3 4 5 ... 0

Нужно получить: 0 ... 5 4 3 2 1

Заранее благодарен!


--------------------
Жизнь - это лестница. Когда одна ступень проваливается, 2-ая нога находиться на второй ступеньке, а значит есть и второй шанс... ©
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
neic
сообщение 30.11.2007 22:00
Сообщение #2


Студент 3-к группы (ИГТК)
*

Группа: Пользователи
Сообщений: 32
Пол: Мужской
Реальное имя: Артём

Репутация: -  1  +


Так там меняются местами первый и второй элемент, а мне нужно неограниченное число повернуть... или я что не догнал... просто голова уже не соображает wacko.gif

Список создаётся в момент ввода чисел с клавиатуры, а уже полученный список перевернуть.

Плюс ругается на строчку (в примере который ты дал):
r^.Next:=init;

Ошибка 88 говорит что не хватает какой-то скобки.


Добавлено через 8 мин.
Вот я тут на калякал.
Ссылается на procedure ps и говорит что куча переполнена, что я не так сделал?
uses crt;

type tinf=integer;
tp=^node;
node=record
inf:integer;
sled:tp;
end;

var head,pn,pss,p:tp;

procedure init(var head:tp);
begin
head:=nil
end;

procedure vkln(iel:tinf);
begin
new(pn);
pn^.inf:=iel;
pn^.sled:=head;
head:=pn;
end;

procedure ps(ifn:tinf);
begin
new(p);
p^.inf:=ifn;
p^.sled:=head;
head:=pn;
end;

Procedure Print(p: tp);
begin
while p <> nil do begin
write(p^.inf,' ','');
p:=p^.sled;
end;
writeln;
end;

var s:integer;
begin
clrscr;
init(head);

writeln('‚ўҐ¤ЁвҐ зЁб« ®в 1 ¤® 99. Љ®­Ґж®¬ ўў®¤ пў«пҐвбп жЁда 0');
repeat
read(s);
vkln(s);
until s=0;

print(pn);

pn^.sled:=head;

while pn <> nil do begin
pn:=pn^.sled;
ps(pn^.inf);
end;
writeln;

print(p);

readkey;
end.


Сообщение отредактировано: neic - 30.11.2007 22:04


--------------------
Жизнь - это лестница. Когда одна ступень проваливается, 2-ая нога находиться на второй ступеньке, а значит есть и второй шанс... ©
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 18:51
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"