0% found this document useful (0 votes)
7 views

Lab 3

This C++ code defines 3 functions - ques1(), ques2(), ques3() - that perform sorting and printing arrays. ques1() takes user input for an array size and values, sorts the array, and prints the kth element. ques2() also takes array input, sorts it, and prints the sorted array within brackets. ques3() implements merge sort on a user-input array by recursively dividing and merging sub-arrays.
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

Lab 3

This C++ code defines 3 functions - ques1(), ques2(), ques3() - that perform sorting and printing arrays. ques1() takes user input for an array size and values, sorts the array, and prints the kth element. ques2() also takes array input, sorts it, and prints the sorted array within brackets. ques3() implements merge sort on a user-input array by recursively dividing and merging sub-arrays.
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 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