Lab task2 subset of the array into maximum difference of sum

PHOTO EMBED

Thu Jul 21 2022 12:11:39 GMT+0000 (Coordinated Universal Time)

Saved by @sahmal #c++

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


}
content_copyCOPY

Lab task2