Untitled

mail@pastecode.io avatarunknown
c_cpp
5 days ago
1.8 kB
9
Indexable
Never
#include <iostream>
#include <stdio.h>
using namespace std;

void printArray(int arr[], int n, string description) {
    if (!description.empty()) {
        cout << description;
    }
    for (int i = 0; i < n; ++i) {
        cout << arr[i] << " ";
    }
    cout << endl;
}

void generateRandomArray(int arr[], int n) {
    for (int i = 0; i < n; ++i) {
        arr[i] = rand() % 100;
    }

    printArray(arr, n, "System gives a random array:\n");

}

void sort(int arr[], int n, bool ascending) {
    printArray(arr, n, "BF: ");

    for (int i = 0; i < n - 1; i++) {
        for (int j = 0; j < n - i - 1; j++) {
            if (ascending ? (arr[j] > arr[j + 1]) : (arr[j] < arr[j + 1])) {
                int temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }

    printArray(arr, n, "AF: ");
}

string inputOrder() {
    string order;
    while (true) {
        cout << "Enter 'asc' for ascending or 'desc' for descending order: ";
        cin >> order;
        if (order != "asc" && order != "desc") {
            cout << "Invalid order. Please just enter 'asc' for ascending or 'desc' for descending order.\n";
        } else {
            break;
        }
    }

    return order;
}

int inputLengthOfArray() {
    int n;

    while (true) {
        cout << "Enter the number of elements in the array: ";
        cin >> n;
        if (n <= 0) {
            cout << "Invalid number of elements. Please enter a positive integer.\n";
        } else {
            break;
        }
    }

    return n;
}

int main() {
    int n = inputLengthOfArray();
    int arr[n];
    generateRandomArray(arr, n);

    string order = inputOrder();
    sort(arr, n, order == "asc");

    return 0;
}