Сортировка матрицы только по одному из столбцов - C (СИ)

Узнай цену своей работы

Формулировка задачи:

На основе стандартного qsort создал модификацию нужно из двумерного массива сделать сортировку только по одному из столбцов проблема в том что он постоянно выдает ошибку
Необработанное исключение в "0x00a83882" в "once_again.exe": 0xC00000FD: Stack overflow.
Вероятно где то выходит за пределы массива,но я нигде не могу найти при вызове функции из мэйна при любом last выдает ошибку(пробовал даже при единице)
void swap(float a,float b)
{
    int m;
    float help_arr;
        help_arr=a;
        a=b;
        b=help_arr;
}
 
void qs(float s_arr[][6], int first, int last)
{
    int i = first, j = last, x = s_arr[(first + last) / 2][0];
    do {
                while (s_arr[i][0] < x) i++;
        while (s_arr[j][0] > x) j--;
            if(i <= j) 
            {
                 if (i < j) 
                    swap(s_arr[i][0], s_arr[j][0]);
                 i++;
                 j--;
            }
    }
    while (i <= j);
    if (i < last)
        qs(s_arr, i, last);
    if (first < j)
        qs(s_arr, first,j);
}
Всё,ошибку нашел она была не в этом месте)

Решение задачи: «Сортировка матрицы только по одному из столбцов»

textual
Листинг программы
void swap(int *a, int *b){
  int tmp = *a;  
  *a=*b;
  *b=tmp;
}

Объяснение кода листинга программы

  1. В функции swap происходит обмен значениями двух указателей a и b
  2. В функции сортировки матрицы по одному из столбцов происходит использование функции swap для обмена значениями элементов матрицы
  3. Функция сортировки матрицы по одному из столбцов работает с матрицей, которая заранее определена и содержит целочисленные значения
  4. В процессе сортировки матрицы по одному из столбцов происходит сравнение значений элементов матрицы и их последующая перестановка в нужном порядке
  5. Отсортированная матрица выводится на экран или сохраняется в файл для дальнейшего использования

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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