Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2011, 17:33   #1
Анастасья
Пользователь
 
Регистрация: 16.11.2010
Сообщений: 24
Вопрос описать процедуру которая объединяет 2 упорядоченных по возрастанию списка в один упорядоченный по возрастанию


есть наброски
type
Tinf=integer;
Tptr=^Tlist;
Tlist=record
inf:Tinf;
next:Tptr;
end;
{определяет упорядочен ли список}
function IsOrderUp(h:Tptr):boolean;
var
t:Tptr
ok:boolean;
begin
if IsEmptyList(h)then
Result:=true
else
if H^.next=nil then Result:=true
else
begin
t:=h;
ok:=true;
while (t^.inf<>nil)and ok do
if t^.inf<=t^.next^.inf then
t:=t^.next
else
ok:=false;
Result:=ok;
end;
end;
{процедура которая должна объединять 2 упорядоченных по возрастанию списка в один упорядоченный по возрастанию}
Procedure Obied2list(h1,h2:Tptr);

var
t1,t2,z:Tptr;
begin
if IsOrderUp(h1) and IsOrderUp(h2)
then
begin
t1:=h1;
t2:=h2;
while (t1^.next<>nil)(t2^.next<>nil) do
if t1^.inf<=t2^.inf then
z^.inf:= t2^.inf
else
z^.inf:=t1^.inf
end;
end;
{главная программа}
begin
SetConsoleCp(1251);
SetConsoleOutputCP(1251);
if isOrderUp(head1) then
writeln('первый список упорядочен по возрастанию')
else
writeln('первый список не упорядочен');
if isOrderUp(head2) then
writeln('второй список упорядочен по возрастанию')
else
writeln('второй список не упорядочен');
Obied2List(head1,head2);

end.
Анастасья вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Из двух упорядоченных по возрастанию массивов, получить третий, упорядоченный по возрастанию.(в обычном варианте и через bufalo C# (си шарп) 4 17.10.2011 14:52
дано 2 массива а(9) и л(9). обьединить их в один отсортированный по возрастанию с(18) (Паскаль) leylo Помощь студентам 0 11.04.2011 01:12
сделать из трёх массивов по возрастанию один по возрастанию Novenkaja Помощь студентам 5 23.03.2011 21:18
Составить программу, которая формирует 2 списка, и написать процедуру присоединения 2го списка к 1му Neitrosha Помощь студентам 7 25.02.2011 21:18
Паскаль.Двумерные массивы,объединить два массива в один с сортировкой столбцов по возрастанию. valord Помощь студентам 6 02.06.2009 11:13