Advertisement
Guest User

Untitled

a guest
Dec 10th, 2019
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.79 KB | None | 0 0
  1.  
  2. #include <iostream>
  3. #include <time.h>
  4. using namespace std;
  5.  
  6. void init(int**& arr, unsigned length) {
  7.     arr = new int* [length];
  8.     for (int i = 0; i < length; i++) {
  9.         arr[i] = new int[length];
  10.     }
  11. }
  12.  
  13. void uninit(int**& arr, unsigned length) {
  14.     for (int i = 0; i < length; i++) {
  15.         delete[] arr[i];
  16.     }
  17.     delete[] arr;
  18.     arr = nullptr;
  19. }
  20.  
  21. void in(int** arr, unsigned length) {
  22.     for (int i = 0; i < length; i++) {
  23.         for (int j = 0; j < length; j++) {
  24.             int y = rand() % 201 - 100; // [-100,100]
  25.             arr[i][j] = y;
  26.         }
  27.     }
  28. }
  29.  
  30. void out(int** arr, unsigned length) {
  31.     cout << endl;
  32.     for (int i = 0; i < length; i++) {
  33.         for (int j = 0; j < length; j++) {
  34.             cout << arr[i][j] << "  ";
  35.         }
  36.         cout << endl;
  37.     }
  38.  
  39. }
  40.  
  41. bool sort(bool y) {
  42.     return !y;
  43. }
  44.  
  45. void sort_Asc_Dsc(int**& arr, unsigned length) {
  46.     int k = 0;
  47.     bool y=0;
  48.     cout << "\nEnter 1 to sort in ascending and 0 to sort in descending\n";
  49.     cin >> y;
  50.     if (sort(y)) {
  51.         for (int i = 0; i < length; i++) {
  52.             for (int j = 0; j < length; j++) {
  53.                 for (int k = j + 1; k < length; k++) {
  54.                     if (arr[i][j] < arr[i][k]) {
  55.  
  56.                         arr[i][j] ^= arr[i][k];
  57.                         arr[i][k] ^= arr[i][j];
  58.                         arr[i][j] ^= arr[i][k];
  59.  
  60.                     }
  61.                 }
  62.             }
  63.         }
  64.     }
  65.  
  66.  
  67.     else {
  68.         for (int i = 0; i < length; i++) {
  69.             for (int j = 0; j < length; j++) {
  70.                 for (int k = j + 1; k < length; k++) {
  71.                     if (arr[i][j] > arr[i][k]) {
  72.  
  73.                         arr[i][j] ^= arr[i][k];
  74.                         arr[i][k] ^= arr[i][j];
  75.                         arr[i][j] ^= arr[i][k];
  76.  
  77.                     }
  78.                 }
  79.             }
  80.         }
  81.     }
  82. }
  83.  
  84. int main() {
  85.     srand(time(NULL));
  86.     unsigned length;
  87.     char change;
  88.     cout << "Enter number of elements per row: ";
  89.     cin >> length;
  90.     int** arr;
  91.     init(arr, length);
  92.     in(arr, length);
  93.     out(arr, length);
  94.     sort_Asc_Dsc(arr, length);
  95.     out(arr, length);
  96.     uninit(arr, length);
  97.     return 0;
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement