All pastes #2076923 Raw Edit

Anonymous

public cpp v1 · immutable
#2076923 ·published 2011-06-08 20:36 UTC
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;			}						}	}}