Untitled
unknown
c_cpp
2 years ago
1.8 kB
21
Indexable
#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;
}Editor is loading...