#include<iostream> using namespace std; void sets(int* array, int size); int main() { int size = 0; cout << "Enter size of the array" << endl; cin >> size; int* array = new int[size]; cout << "Enter elements of the array " << endl; for (int i = 0; i < size; i++) cin >> array[i]; sets(array, size); return 0; } void sets(int* array, int size) { int* newarray1 = nullptr; int* newarray2 = nullptr; int median = size / 2; if (size % 2 == 0) { newarray1 = new int[median]; newarray2 = new int[median]; } else if (size % 2 != 0) { newarray1 = new int[median+1]; newarray2 = new int[median]; } //applying the insertion sort to sort the elements in ascending order int key; for (int i = 1; i < size; i++) { key = array[i]; int j = i - 1; while (j>=0&&array[j]>key) { array[j + 1] = array[j]; j = j - 1; } array[j + 1] = key; } for (int i = 0; i < size; i++) cout << array[i] << " "; if (size % 2 == 0) { for (int i = 0; i < median; i++) { newarray1[i] = array[i]; } for (int i = median; i < size; i++) newarray2[i-median] = array[i]; } if (size % 2 != 0) { for (int i = 0; i < median + 1; i++) newarray1[i] = array[i]; for (int j = median + 1; j < size; j++) newarray2[j - median + 1] = array[j]; } cout << endl; if (size % 2 == 0) { for (int i = 0; i < median; i++) { cout << newarray1[i] << " " << endl; } cout << endl; for (int i = median; i < size; i++) cout << newarray2[i - median] <<" " << endl; cout << endl; } if (size % 2 != 0) { for (int i = 0; i < median + 1; i++) cout << newarray1[i] << " " << " " << endl; cout << endl; for (int j = median + 1; j < size; j++) cout << newarray2[j - median + 1] << " " << endl; } }
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter