Found 7347 Articles for C++

Merge two binary Max Heaps using C++.

Narendra Kumar
Updated on 31-Oct-2019 06:18:19

181 Views

Problem statementGiven two binary max heaps as arrays, merge the into single max heap.Heap1[] = {20, 17, 15, 10} Heap2[] = {19, 13, 7} Result[] = {20, 19, 15, 13, 17, 7, 10}Algorithm1.Create an array to store result 2. Copy both given arrays one by one to result array 3. Build heap to construct full merged max heapExample#include #include #define SIZE(arr) (sizeof(arr) / sizeof(arr[0])) using namespace std; void heapify(int *arr, int n, int idx){    if (idx >= n) {       return;    }    int l = 2 * idx + 1;    int r ... Read More

Merge two sorted arrays using C++.

Narendra Kumar
Updated on 31-Oct-2019 06:14:58

3K+ Views

Problem statementGiven 2 sorted arrays list. Write a function to merge given two sorted arrays into oneArr1[] = {10, 15, 17, 20} Arr2[] = {5, 9, 13, 19} Result[] = {5, 9, 10, 13, 15, 17, 19, 20}Algorithm1. Traverse both array    1.1. If arr1[i] < arr2[j]       1.1.1. Add arr[i] to new array       1.1.2. Increment ‘i’ and index of result array ‘k’    1.2. If arr2[i] < arr1[j]       1.2.1. Add arr[j] to new array       1.2.2. Increment ‘j’ and index of result array ‘k’ 2. Repeat procedure until both ... Read More

Merge two sorted linked lists using C++.

Narendra Kumar
Updated on 31-Oct-2019 06:12:11

3K+ Views

Problem statementGiven 2 sorted singly linked list. Write a function to merge given two sorted linked listsList1: 10->15->17->20 List2: 5->9->13->19 Result: 5->9->10->13->15->17->19->20Algorithm1. Traverse both lists    1.1. If list1->data < list2->data       1.1.1 Add list1->data to new list and increment list1 pointer    1.2 If list2->data < list1->data       1.2.1 Add list2->data to new list and increment list2 pointer 2. Repeat procedure until both lists are exhausted 3. Return resultant listExample#include #include #define SIZE(arr) (sizeof(arr) / sizeof(arr[0])) using namespace std; struct node {    int data;    struct node *next; }; node *createList(int *arr, ... Read More

Merging elements of two different arrays alternatively in third array in C++.

Narendra Kumar
Updated on 31-Oct-2019 06:09:34

669 Views

Problem statementGiven two arrays, we need to combine two arrays in such a way that the combined array has alternate elements of the first and second array. If one of the arrays has an extra element, then these elements should be appended at the end of the combined array.arr1[] = {10, 20, 30, 40} arr2[] = {-10, -20, -30, -40} result[] = {10, -10, 20, -20, 30, -30, 40, -40}Algorithm1. Traverse both arrays and one by one put elements into result array. 2. If one of the array exhausts then put remaining elements of other array into result array.Example#include ... Read More

Merging two unsorted arrays in sorted order in C++.

Narendra Kumar
Updated on 31-Oct-2019 06:03:10

343 Views

Problem statementWrite a function that takes two unsorted arrays and merges them into a new array in sorted order.arr1[] = {10, 5, 7, 2} arr2[] = {4, 17, 9, 3} result[] = {2, 3, 4, 5, 7, 9, 10, 17}Algorithm1. Merge two unsorted array into new array 2. Sort newly create arrayExample#include #include #define SIZE(arr) (sizeof(arr) / sizeof(arr[0])) using namespace std; void mergeAndSort(int *arr1, int n1, int *arr2, int n2, int *result){    merge(arr1, arr1 + n1, arr2, arr2 + n2, result);    sort(result, result + n1 + n2); } void displayArray(int *arr, int n){    for (int i = 0; i < n; ++i) {       cout

Mid-Square hashing in C++.

Narendra Kumar
Updated on 31-Oct-2019 05:56:52

3K+ Views

Problem statementThe mid-square method is a method of generating pseudorandom numbers. This method was invented by John von Neumann and was described at a conference in 1949In this technique, an initial seed value is taken and it is squared.Some digits from the middle are extracted and these extracted digits form a number which is taken as the new seed.Let us take 3456 as seed. Its square is 11943936Take the middle 4 digits as new seed i.e. 9439. Its square is 89094721Take middle 4 digits as new seed i.e. 0947Repeat this processAlgorithm1. Choose initial seed value 2. Take the square of ... Read More

Mersenne Prime Number in C++.

Narendra Kumar
Updated on 31-Oct-2019 05:54:02

506 Views

DescriptionIn mathematics, a Mersenne prime is a prime number that is one less than a power of two. That is, it is a prime number of the form Mn = 2n − 1 for some integer n.Write a C++ program to print all Mersenne Primes smaller than an input positive integer n.The exponents n which give Mersenne primes are 2, 3, 5, 7, ... and the resulting Mersenne primes are 3, 7, 31, 127Algorithm1. Generate all the primes less than or equal to the given number n 2. Iterate through all numbers of the form 2n-1 and check if they ... Read More

Find the value of ln(N!) using Recursion using C++.

Arnab Chakraborty
Updated on 30-Oct-2019 06:39:33

134 Views

Suppose we have a number N, our task is to find ln(N!) using recursion. ln() is basically log base e. To solve this we can use this formula −$$\ln\lgroup N!\rgroup=\ln\lgroup N*\lgroup N-1\rgroup *\lgroup N-2\rgroup *\dotsm*2*1\rgroup=\ln\lgroup N\rgroup+\ln\lgroup N+1\rgroup+\dotsm+\ln\lgroup 1\rgroup$$Example Live Demo#include #include using namespace std; double factLog(int n) {    if (n

Find the unit place digit of sum of N factorials using C++.

Arnab Chakraborty
Updated on 30-Oct-2019 06:37:53

119 Views

Here we will see how to get the unit place digit of the sum of N factorials. So if N is 3, then after getting sum, we will get 1! + 2! + 3! = 9, this will be the result, for N = 4, it will be 1! + 2! + 3! + 4! = 33. so unit place is 3. If we see this clearly, then as the factorials of N > 5, the unit place is 0, so after 5, it will not contribute to change the unit place. For N = 4 and more, it will ... Read More

Find the frequency of a number in an array using C++.

Arnab Chakraborty
Updated on 30-Oct-2019 06:35:38

244 Views

Suppose we have an array. There are n different elements. We have to check the frequency of one element in the array. Suppose A = [5, 12, 26, 5, 3, 4, 15, 5, 8, 4], if we try to find the frequency of 5, it will be 3.To solve this, we will scan the array from left, if the element is the same as the given number, increase the counter, otherwise go for the next element, until the array is exhausted.Example Live Demo#include using namespace std; int countElementInArr(int arr[], int n, int e) {    int count = 0;    for(int i = 0; i

Advertisements