Дело в том, что десятичные дроби дадут тривиальное решение - это обычная сортировка одномерного массива в несколько строчек. А обыкновенные требуют хранить для каждой дроби отдельно числитель и знаменатель, получая ключ сортировки в виде десятичной дроби путем деления. Хранить части можно или сделав массив размером n x 2 (или 2 х n) и тогда i-я дробь это a(i,1)/a(i,2), или сделав массив пользовательского типа, где в качестве последнего описать конструкцию из числителя и знаменателя.