Untitled
unknown
plain_text
8 months ago
1.7 kB
5
Indexable
Never
#include <stdio.h> #include <stdlib.h> // Предполагаем, что функции input, output и выделение памяти реализованы здесь. void sort_vertical(int **matrix, int n, int m, int **result_matrix) { int *temp = (int *)malloc(n * m * sizeof(int)); int k = 0; for (int j = 0; j < m; j++) { for (int i = 0; i < n; i++) { temp[k++] = matrix[i][j]; } if (j % 2 == 1) { for (int start = 0, end = n - 1; start < end; start++, end--) { int swap = temp[k - n + start]; temp[k - n + start] = temp[k - end - 1]; temp[k - end - 1] = swap; } } } k = 0; for (int j = 0; j < m; j++) { for (int i = 0; i < n; i++) { result_matrix[i][j] = temp[k++]; } } free(temp); } void sort_horizontal(int **matrix, int n, int m, int **result_matrix) { int *temp = (int *)malloc(n * m * sizeof(int)); int k = 0; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { temp[k++] = matrix[i][j]; } if (i % 2 != 0) { for (int start = k - m, end = k - 1; start < end; start++, end--) { int swap = temp[start]; temp[start] = temp[end]; temp[end] = swap; } } } k = 0; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { result_matrix[i][j] = temp[k++]; } } free(temp); } // Предполагаем, что функции main, input, output, а также выделение и освобождение памяти реализованы здесь.
Leave a Comment