ФОРМУЛИРОВКА УСЛОВИЯ ЗАДАЧИ

Пусть L обозначает кольцевой (повторяющийся) двунаправленный перечень с большим звеном и пусть E обозначает величину типа частей, входящих в перечень. Обрисовать функцию либо функцию, которая: в перечне L переставляет в оборотном порядке все элементы меж первым и последним вхождениями элемента Е, если E заходит в L более 2-ух раз ФОРМУЛИРОВКА УСЛОВИЯ ЗАДАЧИ.

ЛИСТИНГ Программки

Program Revers_Spiska;

type

spisok=^zap;

zap=Record

inf:integer;

next:spisok;

end;

var

nach,p,q:spisok;

E:integer;

Procedure Input_L(var nach:spisok);

var p,q:spisok; N,i:integer; X:integer;

begin

Randomize;

write('n:');

readln(N);

writeln('spisok:');

X:=random(20)+1;

new(p);

nach:=p;

p^.inf:=X;

p^.next:=nil ФОРМУЛИРОВКА УСЛОВИЯ ЗАДАЧИ;

for I:=2 to N do

begin

new(q);

p^.next:=q;

X:=random(20)+1;

q^.inf:=X;

q^.next:=nil;

p:=q;

end;

end;

Procedure Print_L(var nach:spisok);

var p,q:spisok;

begin

writeln('spisok:');

p:=nach;

if p=nil then writeln('spisok pust')

else while pnil do

begin

writeln(p ФОРМУЛИРОВКА УСЛОВИЯ ЗАДАЧИ^.inf);

p:=p^.next;

end;

end;

Procedure Destroy(nach_p:spisok);

var p,p1:spisok;

begin

p:=nach_p;

while pnil do begin

p1:=p;

p:=p^.next;

Dispose(p1);

end;

end;

Procedure V_ob(var nach_p:spisok; pn,pk:spisok);

var p,q,q1,q2,r:spisok;

begin

p ФОРМУЛИРОВКА УСЛОВИЯ ЗАДАЧИ:=pn;

q:=p^.next;

q1:=q;

q2:=pk^.next;

r:=q^.next;

while qpk do

begin

q^.next:=p;

p:=q;

q:=r;

r:=r^.next;

end;

pn^.next:=p;

q1^.next:=pk;

end;

Procedure Obr_sp(var nach_p:spisok; E:integer);

var p,p_p,p_v:spisok;

begin

p ФОРМУЛИРОВКА УСЛОВИЯ ЗАДАЧИ:=nach_p;

p_p:=nil; p_v:=nil;

while pnil do

begin

if p^.inf=E then

begin

if p_p=nil then p_p:=p

else p_v:=p;

end;

p:=p^.next;

end;

if p_vnil

then V_ob(nach,p_p,p_v);

end;

begin

Input_L(nach);

Print_L(nach);

write('E=');

readln(E);

Obr ФОРМУЛИРОВКА УСЛОВИЯ ЗАДАЧИ_sp(nach,E);

Print_L(nach);

readln;

end.

НАБОР ТЕСТОВ

Если в перечне нет циклических частей, то просто выводится перечень частей. К примеру, в перечне при помощи случайной генерации сформировался перечень частей: 14; 18; 20; 13. То выведется на экран тот же перечень.

Если в перечне есть два и больше схожих частей и ФОРМУЛИРОВКА УСЛОВИЯ ЗАДАЧИ мы желаем перевернуть числа находящиеся меж 2-мя последними данными элементами. К примеру: 6, 6, 17, 9, 6, 3, 5, 19. Получим: 6, 9, 17, 6, 6, 3, 5, 19.

Если дан перечень: 20, 13, 14, 9, 18, 13. Выведется: 20, 13, 18, 9, 14, 13.

ГЛАВА 4. Задачка V 1 с

Обрисовать функцию либо функцию, которая: подсчитывает число вершин на n- ном уровне непустого дерева T (корень считать верхушкой 0-го уровня).

ЛИСТИНГ Программки

program K_vo_elementov;

type

tl=^Tree;

Tree ФОРМУЛИРОВКА УСЛОВИЯ ЗАДАЧИ=Record

data:real;

L,R:tl;

end;

Var

kd:tl;

E,d,sm:real;

s:string;

code:integer;

k,n,m:integer;

Procedure InsTree(n:real;var t:tl);

begin

if t=nil then

begin

new(t);

with t^ do

begin l:=nil;

r:=nil;

data:=n;

end

end

else if n<=t^.data then InsTree(n,t^.l ФОРМУЛИРОВКА УСЛОВИЯ ЗАДАЧИ)

else InsTree(n,t^.r)

end;

Procedure PrintTree(t:tl);

begin

if tnil then

begin

write(t^.data:1:1,' ');

PrintTree(t^.l);

PrintTree(t^.r);

end;

end;

Procedure Urov(t:tl; var k:integer; n,m:integer);

begin

if tnil then

begin

if m=0 then if m=n then k:=1 else k:=0

else if ФОРМУЛИРОВКА УСЛОВИЯ ЗАДАЧИ m=n then k:=k+1 else;

Urov(t^.l,k,n,m+1);

Urov(t^.r,k,n,m+1);

end;

end;

begin

writeln(' - konec vvoda');

writeln('vvodite derevo: ');

kd:=nil;

readln(s);

val(s,d,code);

while s'' do

begin InsTree(d,kd);

readln(s); val(s,d,code);

end;

write('n ФОРМУЛИРОВКА УСЛОВИЯ ЗАДАЧИ='); readln(n);

Urov(kd,k,n,0);

writeln('k-vo: ',k);

{ PrintTree(kd);}

readln;

end.

НАБОР ТЕСТОВ

К примеру, имеем дерево: 30, 40, 20, 25, 17, 63, 19, 24, 56.

Нужно выяснить число вершин на 2 и 7 уровне.

Число вершин на втором уровне равно 3.

Для проверки изобразим схематично:

Число вершин на 7 уровне равно нулю.

Число вершин на 0 уровне всегда равно 1 (по условию задачки – дерево ФОРМУЛИРОВКА УСЛОВИЯ ЗАДАЧИ не пустое).

ВЫВОДЫ

1) Была изготовлена программка для списков, которая содержит в себе создание пустого перечня, добавление элемента (в начало перечня, в конец перечня и после элемента с данным номером, после ключа (вывод на экран монитора), удаление элемента из перечня (из начала, из конца, удаление элемента с данным номером, с данным ФОРМУЛИРОВКА УСЛОВИЯ ЗАДАЧИ ключом).

2) Сотворена программка для кольцевого перечня, в какой переворачивались все элементы стоящие меж 2-мя последними данными элементами.

3) К третьей задачке представлена программка, которая находит число вершин на n-ном уровне непустого дерева T.


formuli-dlya-opredeleniya-pozicionnogo-dopuska-po-zadannim-dopuskam-soosnosti.html
formuli-dlya-rascheta-napryazhenij-v-diskah.html
formuli-formula-skorosti-puti.html