Не правильно сортируется строка массива
проблема такая есть код который должен отсортировать первую строку массива {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");
}
}