Untitled
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; }