Цитата(InFuz @ 2.4.2010, 17:09) *

Хочу в функции сортировки сделать копию массива с которым надо рабоать, потом там его отсортировать и печатать то что получилось.


Плохое решение. Если Вы передаёте указатель на начало массива и количество элементов в нём, то изменяя элементы массива по указателю, Вы изменяете исходный массив. То есть, изменения будут "видны" и в вызывающей функции.

Вы понимаете, чем отличаются локальные данные и глобальные, данные кучи и данные стека?
Это то, с чего нам начали объяснять С на 1 курсе. И это правильно!
Это надо понимать. В С/С++ надо уметь работать с указателями, вот мне и интересно, у Вас с этим всё ок?

Поскольку сдавать завтра, скажу так: достаточно отсортировать массив по указателю, никуда его не копируя. А уже в main выводить его и всё прочее.

Но вообще рекомендую с указателями разобраться.
В качестве упражнения: выделите корректно память под трёхмерный массив, передайте его в функцию, отсортируйте как-нибудь, например, сначала по x, потом по y, потом по z (порядок сортировки сами выберите). А потом напечатайте и освободите корректно память - крайне полезное упражнения для начала.

PS. Если такие уж сильные проблемы с сортировкой, пузырёк могу по-быстрому написать))