Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <time.h>
- using namespace std;
- void init(int**& arr, unsigned length) {
- arr = new int* [length];
- for (int i = 0; i < length; i++) {
- arr[i] = new int[length];
- }
- }
- void uninit(int**& arr, unsigned length) {
- for (int i = 0; i < length; i++) {
- delete[] arr[i];
- }
- delete[] arr;
- arr = nullptr;
- }
- void in(int** arr, unsigned length) {
- for (int i = 0; i < length; i++) {
- for (int j = 0; j < length; j++) {
- int y = rand() % 201 - 100; // [-100,100]
- arr[i][j] = y;
- }
- }
- }
- void out(int** arr, unsigned length) {
- cout << endl;
- for (int i = 0; i < length; i++) {
- for (int j = 0; j < length; j++) {
- cout << arr[i][j] << " ";
- }
- cout << endl;
- }
- }
- bool sort(bool y) {
- return !y;
- }
- void sort_Asc_Dsc(int**& arr, unsigned length) {
- int k = 0;
- bool y=0;
- cout << "\nEnter 1 to sort in ascending and 0 to sort in descending\n";
- cin >> y;
- if (sort(y)) {
- for (int i = 0; i < length; i++) {
- for (int j = 0; j < length; j++) {
- for (int k = j + 1; k < length; k++) {
- if (arr[i][j] < arr[i][k]) {
- arr[i][j] ^= arr[i][k];
- arr[i][k] ^= arr[i][j];
- arr[i][j] ^= arr[i][k];
- }
- }
- }
- }
- }
- else {
- for (int i = 0; i < length; i++) {
- for (int j = 0; j < length; j++) {
- for (int k = j + 1; k < length; k++) {
- if (arr[i][j] > arr[i][k]) {
- arr[i][j] ^= arr[i][k];
- arr[i][k] ^= arr[i][j];
- arr[i][j] ^= arr[i][k];
- }
- }
- }
- }
- }
- }
- int main() {
- srand(time(NULL));
- unsigned length;
- char change;
- cout << "Enter number of elements per row: ";
- cin >> length;
- int** arr;
- init(arr, length);
- in(arr, length);
- out(arr, length);
- sort_Asc_Dsc(arr, length);
- out(arr, length);
- uninit(arr, length);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement