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

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

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

> СПИСКИ, Народ подскажите
-sds-
сообщение 3.05.2007 12:22
Сообщение #1


Гость







даны два непустых упорядоченных по неубыванию списка P1 и P2 . Объединить списки в один упорядоченный по неубыванию список P3, сменив соответствующим образом ссылки в P1 и P2.

Буду всем очень благодарен.
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
-sds-
сообщение 21.05.2007 20:51
Сообщение #2


Гость






)вот условие:
даны два непустых упорядоченных по неубыванию списка P1 и P2 . Объединить списки в один упорядоченный по неубыванию список P3, сменив соответствующим образом ссылки в P1 и P2.

вот текст проги:
program zadacha;
type spis=^elem;
elem=record
data:integer;
next:spis;
end;
var p1,p2,p3:spis;
procedure add2head(val:integer; var list:spis);
var u:spis;
begin
new(u);
u^.data:=val;
u^.next:=list;
list:=u;
end;
procedure print(list:spis);
var i:integer;
begin
i:=0;
write('sodergimoe spiska: ');
while list<>nil do begin
write(list^.data);
if list^.next<>nil then write(', ') else writeln('.');
list:=list^.next;
inc(i);
end;
writeln('vsego ',i,' elementov');
end;
procedure abtoc(var a,b,c:spis);
var i1,i2,t:spis;
begin
if a=nil then c:=b else if b=nil then c:=a else begin
if a^.data<=b^.data then begin
i1:=a;
i2:=b;
end else begin
i1:=b;
i2:=a;
end;
c:=i1;
while (i1^.next<>nil) and (i2<>nil) do begin
if i1^.next^.data>i2^.data then begin
t:=i2;
i2:=i1^.next;
i1^.next:=t;
end;
i1:=i1^.next;
end;
if i1^.next=nil then i1^.next:=i2;
end;
end;
begin
p1:=nil;
p2:=nil;
add2head(9,p1);
add2head(5,p1);
add2head(2,p1);
add2head(1,p1);
add2head(1,p1);
print(p1);
add2head(8,p2);
add2head(4,p2);
add2head(3,p2);
add2head(0,p2);
print(p2);
abtoc(p1,p2,p3);
print(p3);
readln;
end.

А как сделать так, чтобы список p1 и p2 формировались(создавались) в процессе выполнения программы(чтобы пользователь сам их вводил)????????????

Заранее спасибо.
 К началу страницы 
+ Ответить 

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


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

 



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