В конце у меня получается число z
Мне надо если оно равно p то тогда вывести его а если не равно то p присвоить z и снова прогонять цикл. как это сделать.
Var a:array[1..50] of byte; n,p, i,k,m,j,x,y,z: integer; begin writeln('Введите количество элементов'); readln(p); n:=4; repeat for i:=n downto 1 do begin a[i]:=p mod 10; p:= p div 10; end; For i:=1 To n Do Begin k := i; For j := i + 1 To n Do If a[j] >= a[k] Then k := j; m := a[i]; a[i] := a[k]; a[k] := m; end; x:=a[1]*1000+a[2]*100+a[3]*10+a[4]; For i := 1 To N - 1 Do Begin k := i; For j := i + 1 To n Do If a[j] <= a[k] Then k := j; m := a[i]; a[i] := a[k]; a[k] := m; end; y:=a[1]*1000+a[2]*100+a[3]*10+a[4]; z:=x-y; until z<>p; writeln(z); end.