Помощь - Поиск - Пользователи - Календарь
Полная версия: записи
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
zmei123
помогите плиз зачет через 3 дня
надо написать прогу отсортировывающую кубики по цветам, а внутри одного цвета по размеру wacko.gif
klem4
FAQ для кого пишется ? FAQ : Записи

Будут конкретные вопросы, спрашивай.

И как можно отсортировать по цвету ? красный > ультрамаринового ?

Можно вывести кубики по цветам, сначала все синие, потом все красные .. в приципе это тоже можно считать сортировкой.
volvo
zmei123, вот структура программы:

const
  maxCubes = 10;
type
  TCube =  record

    color: byte;
    size: double;

  end;
  TList = Array[1 .. maxCubes] of TCube;

function Compare (T1, T2: TCube): integer;
begin
    if T1.Color > T2.Color then Compare := 1
    else
      if T1.Color = T2.Color then begin

        if T1.size > T2.size then Compare := 1
        else
          if T1.size < T2.size then Compare := -1
          else Compare := 0

      end
      else Compare := -1
end;

procedure QuickSort (var A: TList; Lo, Hi: Integer);
var
 i,j: integer;
 x, y: TCube;

  procedure Sort (l, r: Integer);
  begin
    repeat
      x := A[(l+r) shr 1];
      i := l; j := r;
      repeat

        while Compare( A[i], x ) < 0 do inc(i);
        while Compare( A[j], x ) > 0 do dec(j);
        if i <= j then begin
          y := A[i]; A[i] := A[j]; A[j] := y;
          inc(i); dec(j);
        end;

      until i > j;

      if l < j then Sort (l, j);
      l := i;
    until l >= r;
  end;

begin
  Sort (Lo,Hi);
end;

begin
  { ... }
end.
zmei123
ок ребят спасибо очень сильно помогли !018.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.