С этим разобрался, спасибо.
Сделал, всё работает. Не подскажите теперь, как объединить обе функции (различаются только знаком больше-меньше). Чтобы можно было передать в функцию направление сортировки?
Код
void sortAscending(char **mas, int N, int length)
{
char *tmp = new char[length];
for(int d=N/2; d > 0; d/=2)
for(int i=d; i < N; i++)
for(int j = i; j>=d && _stricmp(mas[j - d], mas[j])>]0; j -= d)
{
strcpy(tmp, mas[j]);
strcpy(mas[j], mas[j-d]);
strcpy(mas[j-d], tmp);
}
delete [] tmp;
}
Код
void sortDescending(char **mas, int N, int length)
{
char *tmp = new char[length];
for(int d=N/2; d > 0; d/=2)
for(int i=d; i < N; i++)
for(int j = i; j>=d && _stricmp(mas[j - d], mas[j])<0; j -= d)
{
strcpy(tmp, mas[j]);
strcpy(mas[j], mas[j-d]);
strcpy(mas[j-d], tmp);
}
delete [] tmp;
}