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

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

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

> Сложение элементов 2 списков
сообщение
Сообщение #1


Бывалый
***

Группа: Пользователи
Сообщений: 233
Пол: Женский
Реальное имя: Dasha

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


мне нужно произвести сложение
2 списков поэлементно...

вот то,что я делаю,но при выполнении собственно сложения выдается ошибка

read(n);
randomize;

new(first);{создание первого списка}
first^.next:=nil;
first^.inf:=random(10)-1;
for i:=1 to n-1 do
begin
new(p1);
p1^.inf:=random(10)-1;
p1^.next:=nil;
p1^.next:=first;
first:=p1;
end;
t:=p1;
while t<>nil do
begin
writeln(t^.inf);
t:=t^.next;
end;

new(first);{создание второго списка}
first^.next:=nil;
first^.inf:=random(10)-1;
for i:=1 to n-1 do
begin
new(p2);
p2^.inf:=random(10)-1;
p2^.next:=nil;
p2^.next:=first;
first:=p2;
end;
t:=p2;
while t<>nil do
begin
writeln(t^.inf);
t:=t^.next;
end;

new(first);{выполнение сложения}
first^.next:=nil;
first^.inf:=p1^.inf+p2^.inf;
p1:=p1^.next;
p2:=p2^.next;
while p1<>nil do
while p2<>nil do
begin
new(p3);
p3^.inf:=p1^.inf+p2^.inf;
p3^.next:=nil;
p3^.next:=first;
first:=p3;
p1:=p1^.next;
p2:=p2^.next;
end;

t:=p3;
while t<>nil do
begin
writeln(t^.inf);
t:=t^.next;
end;


помогите,пожалуйста,понять,в чем тут дело...

Сообщение отредактировано: volvo -


--------------------
irreparabilium felix olivio rerum
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Бывалый
***

Группа: Пользователи
Сообщений: 233
Пол: Женский
Реальное имя: Dasha

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


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

new(first);
first^.next:=nil;
read(first^.inf);

for i:=1 to n do
begin
new(p);
read(p^.inf);
p^.next:=nil;
t:=first;
t^.next:=p;
t:=t^.next;
end;


только в ней что-то не так.только что?


--------------------
irreparabilium felix olivio rerum
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Tribunal   Сложение элементов 2 списков   9.05.2006 15:47
Tribunal   всё)эту глупую ошибку нашла... а почему получается…   9.05.2006 15:59
volvo   Ну, поскольку у тебя списки P1 и P2 одинаковой дли…   9.05.2006 16:02
Tribunal   а результирующий список выводится в обратном поряд…   9.05.2006 16:07
volvo   а результирующий список выводится в обратном поряд…   9.05.2006 16:10
Tribunal   но факт в том,что они создаются в разных порядках.…   9.05.2006 16:22
volvo   а в прямом порядке это как? Вот так: type plist …   9.05.2006 16:41
Tribunal   так получается,что в тот момент,когда мы обращаемс…   9.05.2006 16:35
Tribunal   и всё же мне непонятно,почему последний список пол…   9.05.2006 17:27
volvo   Нет... Ты не должна ЭТО делать ТОЛЬКО в последнем …   9.05.2006 17:59
Tribunal   у меня вот есть такая процедура создания списка с …   9.05.2006 18:00
Tribunal   кстати... а покажите,пожалуйста,как инверитировать…   9.05.2006 18:39
volvo   var p, p1: plist; pt, prv, first, last: plist;…   9.05.2006 18:58
Tribunal   не могу понять многие моменты в инвертировании спи…   10.05.2006 16:14


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

 





- Текстовая версия 29.03.2024 3:17
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name