Написал код сортировки двумерного массива методом Шелла. Как из него сделать функцию?

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int main()
{
    int i, j, A[8][8], s, k, pas, buf, n = 8, m = 8, b;
    
    srand((unsigned)time(NULL));
    pas = n * m;
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < m; j++)
            printf ("%d ", A[i][j] = rand() % 10);
        printf ("\n");
    }
    printf ("\n");
    do {
        pas = n * m;
        b = 1;
    while ((pas = pas / 2))
    {
        for (j = 0; j < m; j++)
        {
            for (i = 0; i < n; i++)
            {
                if (i + pas < n)
                {
                    if (A[i][j] > A[i + pas][j])
                    {
                        b = 0;
                        buf = A[i][j];
                        A[i][j] = A[i + pas][j];
                        A[i + pas][j] = buf;
                    }
                }
                else
                {
                    s = i + pas;
                    k = j;
                    while (s >= n)
                    {
                        s -= n;
                        k++;
                    }
                    if (k < n)
                        if (A[i][j] > A[s][k])
                        {
                            b = 0;
                            buf = A[i][j];
                            A[i][j] = A[s][k];
                            A[s][k] = buf;
                        }
                }
            }
        }
    }
    }
    while (!b);
    printf ("\n");
    for (i = 0; i < n; i++)
        {
        for (j = 0; j < m; j++)
            printf ("%d ", A[i][j]);
        printf ("\n");
    }
    return (0);
}

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