Не правильно сортируется строка массива

проблема такая есть код который должен отсортировать первую строку массива {17409 48824 55171 15276 14232}, в компиляторе выводит 11749, массив выходит в таком виде {11479 48824 55071 15276 14232}

Ноль должен быть впереди 1 но вместо этого он переместился в 3 строку а 1 из 3 строки переместился в первую строку, в чем проблема? вот код:

#include<stdio.h>
#include<stdlib.h>
#define N 5

int main()

{

int a[N][N], i, j, up_x, up_y, dwn_x, tmp, dwn_y, min, min2;
up_x = up_y = dwn_y = 0;
dwn_x = N - 1;

printf("Nachalny massiv\n");

for (i = 0; i < N; i++)

{

    for (j = 0; j < N; j++)

    {

        a[i][j] = rand()%10;
        printf("%d ", a[i][j]);

    }

printf("\n\n");

}

printf("\n");
min = a[0][0];
for (i = 0; i < N; ++i)

{

for (j = i; j < N - i; j++)

{

    if (a[i][j] < min)

    {

        up_x = j;
        up_y = i;
        min = a[i][j];

    } 
}

for (j = i; j >= N - i - 1; j--)

{ 

    if (a[i][j] < min2)

    {

        dwn_x = j;
        dwn_y = i;
        min2 = a[i][j];

    }

}

}

a[up_y][up_x] = min2;
a[dwn_x][dwn_y] = min;
for ( i = 0; i < N - 1; ++i) 

{

    for ( j = i + 1; j < N; ++j) 

    {

        if (a[0][i] > a[0][j])

        {

            tmp = a[0][i];
            a[0][i] = a[0][j]; 
            a[0][j] = tmp; 

        }

     }

}

printf("Konechnyi massiv\n");

for (i = 0; i < N; i++)

{

    for (j = 0; j < N; j++)

    printf("%d ", a[i][j]);
    printf("\n\n");

}

}

Ответы (0 шт):