1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
| -sds- |
Сообщение
#1
|
|
Гость |
даны два непустых упорядоченных по неубыванию списка P1 и P2 . Объединить списки в один упорядоченный по неубыванию список P3, сменив соответствующим образом ссылки в P1 и P2. Буду всем очень благодарен. |
![]() ![]() |
| -sds- |
Сообщение
#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 формировались(создавались) в процессе выполнения программы(чтобы пользователь сам их вводил)???????????? Заранее спасибо. |
-sds- СПИСКИ 3.05.2007 16:22
volvo В поиск... Совсем недавно решалось. 3.05.2007 16:34
sds Решалась точно такая же или похожая??? 3.05.2007 19:19
sds Не могу найти , скиньте ссылку или помогите с кодо… 9.05.2007 1:30
volvo Объединение 2 упорядоченных списков 9.05.2007 1:39![]() ![]() |
|
Текстовая версия | 6.11.2025 1:41 |