Сортировка массива методом "коробок" - Pascal
Формулировка задачи:
Добрый день. Сегодня было задание, по сортировке массива. Массив по типу двух коробок т.е. из одной коробки, перекладывание в другую по порядку.
Программа есть, но немножко не сортирует, надо обнулять каждый раз максимальное(на данный момент) число и вычёркивать его из массива. Как это сделать? Вот тут и проблема.
PROGRAM arrays; USES crt; CONST n=10; VAR a:array [1..n] of integer; b:array [1..n] of integer; i,h,m,d: integer; BEGIN randomize; For i:=1 to n do begin a[i]:=random(20); write(a[i],'|'); end; writeln; for h:=1 to n-1 do begin m:=a[i]+1; for i:=h+1 to n do begin if m<a[i] then begin m:=a[i]; a[i]:=0; end; end; b[h]:=m; write(b[h],'|'); m:=0; end; END.
Решение задачи: «Сортировка массива методом "коробок"»
textual
Листинг программы
PROGRAM arrays; //USES crt; CONST n=10; VAR a:array [1..n] of integer; b:array [1..n] of integer; i,j,m,x: integer; BEGIN randomize; For i:=1 to n do begin a[i]:=random(19)+1; write(a[i],' '); end; writeln; x:=1; for i:= 1 to n do begin m := a[1]; for j := 1 to n do begin if (a[j] >= m) then begin m := a[j]; b[i]:=m; x:=j; end; end; a[x] := 0; end; for i := 1 to n do write(b[i],' '); END.