C Articles - Page 77 of 134

Binary Search using pthread in C Program?

Arnab Chakraborty
Updated on 20-Aug-2019 13:18:47

576 Views

We know that the binary search approach is one of the most suitable and effective sorting algorithm. This works on sorted sequence. The algorithm is simple, it simply finds the element from middle, then divide the list by two parts, and moves either towards the left sublist, or right sublist.We know the algorithm of it. Now we will see how to use binary search technique in multithreading environment. The number of threads depends on number of cores are present in the system. Let us see the code to get the idea.Example#include #define MAX 16 #define MAX_THREAD 4 using namespace ... Read More

Binary representation of next greater number with same number of 1’s and 0’s in C Program?

Arnab Chakraborty
Updated on 20-Aug-2019 13:15:25

304 Views

Suppose we have one binary number, that is representation of a number n. We have to find binary representation of a number which is smallest but larger than n, and it also has same number of 0s and 1s. So if the number is 1011 (11 in decimal), then the output will be 1101 (13). This problem can be found using the next-permutation calculation. Let us see the algorithm to get the idea.AlgorithmnextBin(bin) −Begin    len := length of the bin    for i in range len-2, down to 1, do       if bin[i] is 0 and bin[i+1] ... Read More

BFS using vectors & queue as per the algorithm of CLRS in C Program?

Arnab Chakraborty
Updated on 20-Aug-2019 13:10:19

368 Views

In CLRS book the BFS algorithm is described using vectors and queue. We have to implement that algorithm using C++ STL. Let us see the algorithm at first.AlgorithmBFS(G, s) −begin    for each vertex u in G.V - {s}, do       u.color := white       u.d := infinity       u.p := NIL    done    s.color := green    s.d := 0    s.p := NIL    Q := NULL    insert s into Q    while Q is not null, do       u = delete from Q       for ... Read More

Betrothed numbers in C Program?

Arnab Chakraborty
Updated on 20-Aug-2019 13:06:54

596 Views

Here we will see the Betrothed number. This is a pair of numbers, such that the sum of the proper divisors of one number is one more than the other number. We have to find these pairsFor an example, the pair is like (48, 75). So the divisors of 48 is {1, 2, 3, 4, 6, 8, 12, 16, 24} and sum is 76. Similarly, the divisors of 75 is {1, 3, 5, 15, 25} so sum is 49.AlgorithmBetrothedPairs (n) −begin    for num in range 1 to n, do       sum := 1       for ... Read More

Baum Sweet Sequence in C Program?

Arnab Chakraborty
Updated on 20-Aug-2019 14:00:18

196 Views

Here we will see the Baum Sweet Sequence. This sequence is one binary sequence. If a number n has an odd number of contiguous 0s, then nth bit will be 0, otherwise nth bit will be 1.We have a natural number n. Our task is to find the n-th term of Baum Sweet sequence. So we have to check whether it has any consecutive block of zeros of odd length.If the number is 4 then the term will be 1, because 4 is 100. So it has two (even) number of zeros.AlgorithmBaumSweetSeqTerm (G, s) −begin    define bit sequence seq ... Read More

Auxiliary Space with Recursive Functions in C Program?

Arnab Chakraborty
Updated on 20-Aug-2019 13:00:00

417 Views

Here we will see how the auxiliary space is required for recursive function call. And how it is differing from the normal function call?Suppose we have one function like below −long fact(int n){    if(n == 0 || n == 1)       return 1;    return n * fact(n-1); }This function is recursive function. When we call it like fact(5), then it will store addresses inside the stack like below −fact(5) ---> fact(4) ---> fact(3) ---> fact(2) ---> fact(1)As the recursive functions are calling itself again and again, addresses are added into stack. So if the function is ... Read More

Array range queries for elements with frequency same as value in C Program?

Arnab Chakraborty
Updated on 02-Jul-2020 06:56:57

303 Views

Here we will see one interesting problem. We have one array with N elements. We have to perform one query Q as follows −The Q(start, end) indicates that number of times a number ‘p’ is occurred exactly ‘p’ number of times from start to end.So if the array is like: {1, 5, 2, 3, 1, 3, 5, 7, 3, 9, 8}, and queries are −Q(1, 8) − Here the 1 is present once, and 3 is present 3 times. So the answer is 2Q(0, 2) − Here the 1 is present once. So the answer is 1Algorithmquery(s, e) −Begin   ... Read More

Area of the biggest possible rhombus that can be inscribed in a rectangle in C Program?

Arnab Chakraborty
Updated on 20-Aug-2019 12:53:32

149 Views

Here we will see one problem, where one rectangle is given. We have to find the area of largest rhombus that can be inscribed in the rectangle. The diagram will be look like below −The length of the rectangle is ‘l’ and breadth is ‘b’ So the area of the rhombus is −Source Code#include #include using namespace std; float area(float l, float b) {    if (l < 0 || b < 0) //if the values are negative it is invalid       return -1;    float area = (l*b) /2;    return area; } int main() {    float l = 20.0, b = 7;    cout

Area of squares formed by joining mid points repeatedly in C Program?

Arnab Chakraborty
Updated on 20-Aug-2019 12:44:02

133 Views

Suppose we have one square whose side is ‘a’. We will make more squares by attaching the mid-points of the squares repeatedly. The number of repetition is n times. We have to find the area of nth square.As the side of the outer square is ‘a’, then area isNow using Pythagorean theorem, we can get the area of the second rectangle is −Similarly, area of 3rd square is −Using this we can understand that the area of nth square is −Example#include #include using namespace std; float area(float a, float n) {    if (a < 0 ) //if ... Read More

Area of largest triangle that can be inscribed within a rectangle in C Program?

Arnab Chakraborty
Updated on 20-Aug-2019 12:38:37

168 Views

Suppose one rectangle is given. We know the length L and breadth B of it. We have to find the area of largest triangle that can be inscribed within that rectangle −The largest triangle will always be the half of the rectangle. So it will beExample#include #include using namespace std; float area(float l, float b) {    if (l < 0 || b < 0 ) //if the valuse are negative it is invalid       return -1;    float area = (l*b)/2;    return area; } int main() {    float a = 10, b = 8;    cout

Advertisements