You are on page 1of 3

#include <iostream>

using namespace std;

// QUESTION 1
void ques1()
{
int n;
cout << "number of elements in array: ";
cin >> n;
int arr[n];
for (int i = 0; i < n; i++)
{
cout << "enter number: ";
cin >> arr[i];
}
int k;
cout << "Enter k: ";
cin >> k;
int a, b;
bool check;
int temp;
for (a = 0; a < n - 1; a++)
{
check = false;
for (b = 0; b < n - a - 1; b++)
{
if (arr[b] > arr[b + 1])
{
temp = arr[b];
arr[b] = arr[b + 1];
arr[b + 1] = temp;
check = true;
}
}
if (check == false)
break;
}

cout << arr[n - k];


}

// QUESTION 2
void ques2()
{
int n;
cout << "number of elements in array";
cin >> n;
int arr[n];
for (int i = 0; i < n; i++)
{
cout << "enter number: ";
cin >> arr[i];
}
int a, b;
bool check;
int temp;
for (a = 0; a < n - 1; a++)
{
check = false;
for (b = 0; b < n - a - 1; b++)
{
if (arr[b] > arr[b + 1])
{
temp = arr[b];
arr[b] = arr[b + 1];
arr[b + 1] = temp;
check = true;
}
}
if (check == false)
break;
}
cout << "[";
for (int i = 0; i < n; i++)
{
if (i != n - 1)
{
cout << arr[i] << ",";
}
else
{
cout << arr[i];
}
}
cout << "]";
}

// QUESTION 3
void merge(int arr[], int var[], int left, int middle, int right)
{
int i = left, j = middle, k = left;
while (i <= middle - 1 && j <= right)
{
if (arr[i] <= arr[j])
{
var[k++] = arr[i++];
}
else
{
var[k++] = arr[j++];
}
}
while (i <= middle - 1)
{
var[k++] = arr[i++];
}

while (j <= right)


{
var[k++] = arr[j++];
}

for (i = left; i <= right; i++)


{
arr[i] = var[i];
}
}
void ques3()
{
int k, n, middle, left = 0;
cout << "enter number of elements: ";
cin >> n;
int right = n - 1;
int arry[n];
int t[n];
for (k = 0; k < n; k++)
{
cout << "enter element: ";
cin >> arry[k];
}
if (right > left)
{
middle = (left + right) / 2;
merge(arry, t, left, middle + 1, right);
}
cout << "Answer: ";
for (int i = 0; i < n; i++)
{
cout << arry[i] << " ";
}
cout << endl;
}

int main()
{
ques3();
ques2();
ques1();

return 0;
}

You might also like