Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //#include <iostream>
- #include<stdio.h>
- #include<stdlib.h>
- #include <locale.h>
- #include <time.h>
- #include <ctime>
- #include <utility>
- #include <algorithm>
- using namespace std;
- using std::swap;
- void RandArray(int** array, int row, int column)
- {
- for (int i = 0; i < row; i++)
- {
- for (int j = 0; j < column; j++)
- {
- array[i][j] = 1 + rand() % 50;
- }
- }
- }
- void PrintArray(int** array, int row, int column)
- {
- for (int i = 0; i < row; i++)
- {
- for (int j = 0; j < column; j++)
- {
- printf("%d\t", array[i][j]);
- }
- printf("\n\n");
- }
- }
- void ExchangeSortArray(int** array, int row, int column)
- {
- for (int i = 0; i < row; i++)
- {
- for (int j = 0; j < column; j++)
- {
- int m = i;
- int n = j + 1;
- while (true)
- {
- if (n == column)
- {
- n = 0;
- m++;
- if (m == row)
- break;
- }
- if (array[i][j] > array[m][n])
- swap(array[i][j], array[m][n]);
- n++;
- }
- }
- }
- }
- void SelectionSort(int** array, int row, int column) {
- for (int i = 0; i < row; ++i)
- for (int j = 0; j < column; ++j) {
- int max_i = i, max_j = j, tmp;
- for (int i1 = i, j1 = j + 1; i1 < row; ++i1, j1 = 0)
- for (; j1 < column; ++j1)
- if (array[i1][j1] < array[max_i][max_j])
- {
- max_i = i1;
- max_j = j1;
- }
- tmp = array[i][j];
- array[i][j] = array[max_i][max_j];
- array[max_i][max_j] = tmp;
- }
- }
- int main()
- {
- setlocale(0, "");
- int row, column;
- printf("Введiть кiлькicть рядкiв: ");
- scanf("%d", &row);
- printf("\nВведiть кiлькicть стовбцiв: ");
- scanf("%d", &column);
- int** array = new int* [row];
- for (int count = 0; count < row; count++)
- array[count] = new int[column];
- RandArray(array, row, column);
- printf("Згенерований массив:\n");
- PrintArray(array, row, column);
- int n;
- do {
- printf("\nВиберiть метод сортування:\n 1. Обмiном.\n 2. Вибору.\n 0. Вихiд.\n");
- scanf("%d", &n);
- if (n == 1) {
- ExchangeSortArray(array, row, column);
- }
- else if (n == 2) {
- SelectionSort(array, row, column);
- }
- printf("Вiдсортований массив:\n");
- PrintArray(array, row, column);
- } while (n != 0);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment