Как составить программу сортировки элементов матрицы 3-х видов в 1 код?. Язык Си

Добрый день у меня есть задача "составить программу сортировки элементов матрицы: а) элементы побочной диагонали отсортировать методом простого обмена; б) элементы главной диагонали отсортировать методом простой выборки; в) элементы первой строки отсортировать методом простой вставки." и я понимаю как это все работает по отдельности но вопрос в том как сделать все это в одном коде, у меня есть код в котором надо "Найти наименьшее из значений элементов, расположенных в заштрихованной части матрицы и поменять их местами." вот туда я никак не могу интегрировать все 3 задачи. Я не прошу составить код, я прошу подсказку про то как это сделать

Вот код:

#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#include <time.h>

#define N 5

int main (void) {

    int a[N][N], min, min_upper = INT_MAX, min_lower = INT_MAX, i, j, iu, ju, il, jl;

    srand(time(NULL));             

    puts("\nSgenerrirovannaiya matrica imeet formu:\n");
    for (i = 0; i < N; i++) {
        for (j = 0; j < N; j++) {
            a[i][j] = rand () % 100;
            printf("  %2d", a[i][j]);
        }
        putchar('\n');
    }

    for (i = 0; i < N - i; i++) {           
        for (j = i; j < N - i; j++) {       
            if (a[i][j] < min_upper) {      
                min_upper = a[i][j];
                iu = i, ju = j;
            }
            if (a[N - i - 1][j] < min_lower) {  
                min_lower = a[N - i - 1][j];
                il = N - i - 1, jl = j;
            }
        }
    }
    i = a[iu][ju];              
    a[iu][ju] = a[il][jl];
    a[il][jl] = i;

    printf("\nmin_upper : %d\nmin_lower : %d\n", min_upper, min_lower);

    puts("\nPomeneni mestami minimum iz verkhnei\nizhnei chasti treugolnika:\n");
    for (i = 0; i < N; i++) {
        for (j = 0; j < N; j++)
            printf("  %2d", a[i][j]);
        putchar('\n');
    }

    min = min_upper < min_lower ? min_upper : min_lower;

    printf("\nMinimalniy element v zashtrixovannoy oblasti\n\n  min_element = %d\n", min);
}

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