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

Greater Common Devisor GCD

The document contains code for several sorting algorithms: 1) An insertion sort algorithm that iterates through an array, inserting each element into the correct position. 2) A merge sort algorithm that recursively splits the array into single elements, then merges the sorted halves back together. 3) A heap sort algorithm that turns the array into a max heap and repeatedly exchanges elements.

Uploaded by

minichel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views

Greater Common Devisor GCD

The document contains code for several sorting algorithms: 1) An insertion sort algorithm that iterates through an array, inserting each element into the correct position. 2) A merge sort algorithm that recursively splits the array into single elements, then merges the sorted halves back together. 3) A heap sort algorithm that turns the array into a max heap and repeatedly exchanges elements.

Uploaded by

minichel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 11

Greater common devisor GCD:

#include<iostream>
using namespace std;
int main() {
int first_number;
cout<<"Enter First Number : ";cin>>first_number;
int second_number;
cout<<"Enter Second Number: ";cin>>second_number;
int gcd;
for(int i=1;i<=first_number&&i<=second_number;i++){
if(first_number%i==0 && second_number%i == 0 ){
gcd=i;
}
}
cout<<"Greatest Common Divison (GCD):"<<gcd<<endl;
return 0;
}

/*Linear search program in c++ using recursion code end*/


#include<iostream>
using namespace std;
int recursiveLinearSearch(int array[],int key,int size){
size=size-1;
if(size <0){
return -1;
}
else if(array[size]==key){
return 1;
}
else{
return recursiveLinearSearch(array,key,size);
}
}
int main() {
cout<<"Enter The Size Of Array: ";
int size;
cin>>size;
int array[size], key,i;
// Taking Input In Array
for(int j=0;j<size;j++){
cout<<"Enter "<<j<<" Element : ";
cin>>array[j];
}
//Your Entered Array Is
for(int a=0;a<size;a++){
cout<<"array[ "<<a<<" ] = ";
cout<<array[a]<<endl;
}

cout<<"Enter Key To Search in Array :";


cin>>key;
int result;
result=recursiveLinearSearch(array,key,size--);
if(result==1){
cout<<"Key Found in the Array ";
}
else{
cout<<"Key NOT Found in Array ";
}
return 0;
}

#include<conio.h>
#include<iostream>
using namespace std;
void display(int disp[], int array_size)
{
for (int i=0; i<array_size; i++)
cout<<disp[i]<<",";
}
void insertionSort(int numbers[], int array_size)
{
int i, j, index;
for (i = 1; i < array_size; i++)
{
index = numbers[i];
j = i;
while ((j > 0) && (numbers[j - 1] > index))
{
numbers[j] = numbers[j - 1];
j = j - 1;
}
numbers[j] = index;
}
}
int main()
{
int numbers[100],array_size,i,j,t;
cout<<"Please! Enter d size of Elements\n";
cin>>array_size;
cout<<"Enter elements\n";
for(i=0;i<array_size;i++)
{
cin>>numbers[i];
}

cout<<"You entered an array :\n";


display(numbers, array_size);

cout<<"\n******************\n";
insertionSort(numbers, array_size);
cout<<"\nAfter sorting:"<<endl;
display(numbers, array_size);
}

#include <iostream>
using namespace std;
void merge(int numbers[], int temp[], int left, int mid, int right)

{
int i, left_end, num_elements, tmp_pos;
left_end = mid - 1;
tmp_pos = left;
num_elements = right - left + 1;
while ((left <= left_end) && (mid <= right))
{
if (numbers[left] <= numbers[mid])
{
temp[tmp_pos] = numbers[left];
tmp_pos = tmp_pos + 1;
left = left +1;
}
else
{
temp[tmp_pos] = numbers[mid];
tmp_pos = tmp_pos + 1;
mid = mid + 1;
}
}
while (left <= left_end)
{
temp[tmp_pos] = numbers[left];
left = left + 1;
tmp_pos = tmp_pos + 1;
}
while (mid <= right)
{
temp[tmp_pos] = numbers[mid];
mid = mid + 1;
tmp_pos = tmp_pos + 1;
}

for (i = 0; i <= num_elements; i++)


{
numbers[right] = temp[right];
right = right - 1;

}
}
void m_sort(int numbers[], int temp[], int left, int right)
{
int mid;
if (right > left)
{
mid = (right + left) / 2;
m_sort(numbers, temp, left, mid);
m_sort(numbers, temp, mid+1, right);
merge(numbers, temp, left, mid+1, right);
}
}
void mergeSort(int numbers[], int temp[], int array_size)
{
m_sort(numbers, temp, 0, array_size - 1);
}
void display(int disp[], int array_size)
{
for (int i=0; i<array_size; i++)
cout<<disp[i]<<",";
}
int main()
{
int numbers[100],array_size,i,temp;
cout<<"Please! Enter d size of Elements\n";
cin>>array_size;
cout<<"Enter elements\n";
for(i=0;i<array_size;i++)
{
cin>>numbers[i];
}

cout<<"You entered an array :\n";


display(numbers, array_size);
cout<<"\n******************\n";
mergeSort(numbers, temp, array_size);
cout<<"\nAfter sorting:"<<endl;
display(numbers, array_size);
}

#include <iostream>
using namespace std;
void shiftDown(int numbers[], int root, int bottom)
{
int done, maxChild, temp;
done = 0;

while ((root*2 <= bottom) && (!done))


{
if (root*2 == bottom)
maxChild = root * 2;
else if (numbers[root * 2] > numbers[root * 2 + 1])
maxChild = root * 2;
else
maxChild = root * 2 + 1;
if (numbers[root] < numbers[maxChild])
{
temp = numbers[root];
numbers[root] = numbers[maxChild];
numbers[maxChild] = temp;
root = maxChild;
}
else
done = 1;
}
}
void heapSort(int numbers[], int array_size)
{
int i, temp;
for (i = (array_size / 2)-1; i >= 0; i--)
shiftDown(numbers, i, array_size);

for (i = array_size-1; i >= 1; i--)


{
temp = numbers[0];
numbers[0] = numbers[i];
numbers[i] = temp;
shiftDown(numbers, 0, i-1);
}
}
void display(int disp[], int array_size)

{
for (int i=0; i<array_size; i++)
cout<<disp[i]<<",";
}
int main()
{
int numbers[100], array_size, n, i;
cout<<"how many numbers you waant to sort:\n\n";
cin>>array_size;
cout<<"inter number of elements to be sorted: "<<endl;
for (i=0; i<array_size; i++)
{
cin>>numbers[i];
}
cout<<"You entered an array:\n"<<endl;
display(numbers, array_size);
cout<<"\n******************\n";
heapSort(numbers, array_size);
cout<<"\nAfter sorting:"<<endl;
display(numbers, array_size);
return 0;
}

You might also like