Отсортировать столбцы по убыванию - C (СИ)
Формулировка задачи:
Задан двухмерныймассив размерности n. Отсортировать массив, согласно параметров
размерность массива
0...25
знак элементов+
Происхождение элементов массиваслучайние
Границы значений переменных0...25
Условие сортировкаОтсортировать столбцы по убыванию
Решение задачи: «Отсортировать столбцы по убыванию»
textual
Листинг программы
#include <vector> #include <cstdlib> #include <ctime> #include <algorithm> int main(int argc, char *argv[]) { std::srand (time(NULL)); std::vector<std::vector<int>> arr; int N = -1; while (!(0 <= N && N <= 25)) { std::cin >> N; } arr.resize(N); for (unsigned int i = 0; i < arr.size(); i++) { arr[i].resize(N); for (unsigned int j = 0; j < arr.size(); j++) arr[i][j] = std::rand() % 26; } for (unsigned int i = 0; i < arr.size(); i++) { for (unsigned int j = 0; j < arr.size(); j++) std::cout << arr[i][j] << " "; std::cout << std::endl; } std::cout << std::endl; //Сортировка вставками for (unsigned int k = 0; k < arr.size(); k++) for(unsigned int i = 1; i < arr.size(); i++) for(unsigned int j = i; j > 0 && arr[j - 1][k] < arr[j][k]; j--) std::swap(arr[j - 1][k], arr[j][k]); for (unsigned int i = 0; i < arr.size(); i++) { for (unsigned int j = 0; j < arr.size(); j++) std::cout << arr[i][j] << " "; std::cout << std::endl; } return 0; }
Объяснение кода листинга программы
В этом коде генерируется случайная двумерная матрица (25x25) целых чисел от 0 до 25, и она выводится на экран. Затем происходит сортировка матрицы вставками (с помощью трех вложенных циклов) по убыванию (от большего к меньшему). После сортировки матрица снова выводится на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д