Можете помочь нужно чтобы повторяющие элементы списке были рядом type

Выполнен
Заказ
3469620
Раздел
Работа с текстом
Предмет
Другое
Тип работы
Антиплагиат
70% eTXT
Срок сдачи
18 Сен 2020 в 19:00
Цена
0 ₽
Блокировка
10 дней
Размещен
16 Сен 2020 в 13:41
Просмотров
31
Описание работы
Можете помочь нужно чтобы повторяющие элементы списке были рядо
typ
man=recor
name:string
age:integer
end
p_list=^element
element=recor
inf:man
next:p_list
end;
procedure Init(var h,t: p_list)
begi
h:=nil
t:=nil
end; procedure Print( h,t: p_list)
var cur:p_list
begi
if h=nil the
writeln ('Список пуст') els
begi
cur:=h
while curnil do begi
write(cur^.inf.name,' ',cur^.inf.age,' ' )
cur:=cur^.next
end; end
writeln
end; function Size(h,t: p_list): word
var k:integer
cur:p_list
begi
k:=0;
cur:=h
while curnil do begi
k:=k+1
cur:=cur^.next
end
size:=k
end; procedure add(a:man;var h,t:p_list)
var cur,cur_new:p_list
begi
new(cur_new)
cur_new^.inf:=a
if h=nil then
begi
h:=cur_new
t:=cur_new
t^.next:=nil
en
else begi
if a.age<=H^.inf.age the
begi
cur_new^.next:=h
H:=cur_new
en
else begi
if a.age>=t^.inf.age then begi
cur_new^.next:=nil
t^.next:=cur_new
t:=cur_new
end
else
begi
if (hnil) and (tnil
then begin
cur_new^.next:=nil
t^.next:=cur_new
t:=cur_new; end
en
end
end
end;
procedure delete(a: man; var h, t: p_list)
var L,R, cur, curNext: p_list
begi
L:=h
R:=t
if (L nil) then begi
cur:= l
curNext:= cur^.next
if (a.age = L^.inf.age) and (L^.next = nil) then begi
dispose(L)
dispose®
en
else begi
cur:= L
curNext:= cur^.next
while (cur^.inf.age a.age) and (curNext nil) do begi
cur:= cur^.next
if (curnil) and (curNextnil) the
curNext:=cur^.next
if (cur^.inf.age a.age) the
writeln('Такого элемента не существует.')
end
if (a.age = L^.inf.age) and (L^.next nil) then begi
l:= curNext
cur^.next:= nil
dispose(cur)
cur:= l
en
els
if (cur^.inf.age = a.age) and (curNext nil) then begi
cur^.next:= curNext
cur^.next:= nil
dispose(cur)
en
else if (cur^.inf.age = a.age) and (curNext = nil) then begi
cur^.next:= nil
dispose®
end
end;
end
end; var h1,t1:p_list
m:man
k:integer; begi
Init(h1,t1)
Print(h1,t1)
writeln('L=',size(h1,t1))
m.name:='Vasya'
m.age:=30
for k:=1 to 10 do begin add(m,h1,t1);writeln('Age=', m.age)
Print(h1,t1)
m.age:=30+k mod 3; end; writeln('L=',size(h1,t1))
{m.name:='Vasya'
m.age:=28
for k:=1 to 5 do begin add(m,h1,t1)
m.age:=m.age-2
end
Print(h1,t1)
writeln('L=',size(h1,t1))
m.name:='Vasya'
m.age:=30
for k:=1 to 10 do begin add(m,h1,t1)
m.age:=m.age+2
end
Print(h1,t1)
writeln('L=',size(h1,t1));} end.
Нужна такая же работа?
  • Разместите заказ
  • Выберите исполнителя
  • Получите результат
Гарантия на работу 1 год
Средний балл 4.96
Стоимость Назначаете сами
Эксперт Выбираете сами
Уникальность работы от 70%
Время выполнения заказа:
1 день 10 часов 19 минут
Выполнен в срок
Отзыв о выполненном заказе
Нужна аналогичная работа?
Оформи быстрый заказ и узнай стоимость
Гарантированные бесплатные доработки
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Темы журнала
Показать ещё
Прямой эфир