rendered paste body#include <iostream>#include <cstdlib>using namespace std;void einlesen(int array[], int n){ cout << "Geben Sie nun die Zahlen ein:" << endl; for(int i = 0; i < n; i++){ int input; cin >> input; array[i] = input; } cout << "Wählen Sie nun den nächsten Schritt!" << endl;}void generate(int array[], int n){ for(int i = 0; i < n; i++){ array[i] = rand(); } cout << "Die Zahlen wurden generiert. Wählen Sie nun den nächsten Schritt!" << endl;}void bubbleSort(int array[], int n){ for (int i = 1; i < n; i++){ for(int j = n-1; j >= i; j--){ if(array[j-1] > array[j]){ int tmp = array[j-1]; array[j-1] = array[j]; array[j] = tmp; } } } cout << "Die Zahlen sind nun sortiert. Wählen Sie den nächsten Schritt!" << endl;}void binaryInsertion(int array[], int n){ for(int i = 1; i < n; i++){ int left = 0; int right = i-1; while(left <= right){ int mid = (left + right)/2; if(array[i] < array[mid]) right = mid-1; else left = mid + 1; } int temp = array[i]; for(int k = i-1; k >= left; k--) array[k+1] = array[k]; array[left] = temp; } cout << "Die Zahlen sind nun sortiert. Wählen Sie den nächsten Schritt!" << endl;}void insertionSort(int array[], int n){ for (int i = 1; i < n; i++) { int tmp = array[i]; int j = i-1; while (j >= 0 && tmp < array[j]) { array[j+1] = array[j]; j--; } array[j+1] = tmp; } cout << "Die Zahlen sind nun sortiert. Wählen Sie den nächsten Schritt!" << endl;}void selectionSort(int array[], int n){ for (int i = 0; i < n-1; i++) { int k = i; int min = array[i]; for (int j = i+1; j < n; j++) { if (array[j] < min) { k = j; min = array[j]; } } array[k] = array[i]; array[i] = min; } cout << "Die Zahlen sind nun sortiert. Wählen Sie den nächsten Schritt!" << endl;}int main(){ cout << "Zahlen Sortieren - Auswahl" << endl; cout << "\t(1) Zahlen per Hand eingeben" << endl; cout << "\t(2) Zahlen generieren lassen" << endl; cout << "\t(3) Zahlen ausgeben" << endl; cout << "\t(4) Bubble Sort" << endl; cout << "\t(5) Insertion Sort" << endl; cout << "\t(6) Selection Sort" << endl; cout << "\t(7) Binary Insertion Sort" << endl; cout << "\t(0) Ende" << endl; int n; int array[n]; bool end = false; while(end == false){ int wahl; cin >> wahl; switch(wahl){ case 1:{ cout << "Wie viele Zahlen wollen Sie eingeben?" << endl; cin >> n; einlesen(array, n); break; } case 2:{ cout << "Wie viele Zahlen sollen generiert werden?" << endl; cin >> n; generate(array, n); break; } case 3:{ for(int i = 0; i < n; i++){ cout << array[i] << endl; } cout << "Wählen Sie nun den nächsten Schritt!" << endl; break; } case 4:{ bubbleSort(array, n); break; } case 5:{ insertionSort(array, n); break; } case 6:{ selectionSort(array, n); break; } case 7:{ binaryInsertion(array, n); break; } case 0:{ end = true; break; } default:{ cout << "Sie haben eine ungültige Wahl getroffen. Bitte wählen Sie erneut!" << endl; break; } } }}