Сортировка массива методом "коробок" - 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.

Оцени полезность:

7   голосов , оценка 4.143 из 5
Похожие ответы