Algorithm Lab
Algorithm Lab
Algorithm Lab
int fibonacci(int n) {
if (n <= 0) return 0;
if (n == 1) return 1;
return fibonacci(n - 1) + fibonacci(n - 2);
}
int main() {
int n;
printf("Enter the position of Fibonacci number: ");
scanf("%d", &n);
printf("Fibonacci number at position %d is %d\n", n,
fibonacci(n));
return 0;
}
#include <stdio.h>
int main() {
int num;
printf("Enter a decimal number: ");
scanf("%d", &num);
printf("Reversed number is %d\n", reverseNumber(num));
return 0;
}
return decimal;
}
int main() {
int binary;
printf("Enter a binary number: ");
scanf("%d", &binary);
printf("Decimal equivalent is %d\n", binaryToDecimal(binary));
return 0;
}
double factorial(int n) {
if (n == 0 || n == 1) return 1;
double fact = 1.0;
for (int i = 2; i <= n; i++) fact *= i;
return fact;
}
double sine(double x) {
double sin_x = x; // x in radians
double term;
return sin_x;
}
int main() {
double x;
printf("Enter angle in radians: ");
scanf("%lf", &x);
printf("sin(%lf) is approximately %lf\n", x, sine(x));
return 0;
}
double cosine(double x) {
double cos_x = 1.0; // x in radians
double term;
return cos_x;
}
int main() {
double x;
printf("Enter angle in radians: ");
scanf("%lf", &x);
printf("cos(%lf) is approximately %lf\n", x, cosine(x));
return 0;
}
double tangent(double x) {
return sine(x) / cosine(x);
}
int main() {
double x;
printf("Enter angle in radians: ");
scanf("%lf", &x);
printf("tan(%lf) is approximately %lf\n", x, tangent(x));
return 0;
}
int main() {
int limit;
printf("Enter the upper limit to generate prime numbers: ");
scanf("%d", &limit);
generatePrimes(limit);
return 0;
}
#include <stdio.h>
double squareRoot(double n) {
double low = 0, high = n, mid;
int main() {
double n;
printf("Enter a number to find its square root: ");
scanf("%lf", &n);
printf("Square root of %.2lf is approximately %.5lf\n", n,
squareRoot(n));
return 0;
}
10. Convert Character to ASCII Code
#include <stdio.h>
int main() {
char ch;
printf("\n");
}
int main() {
int arr[] = {12, -3, -5, -7, -4, -6};
int size = sizeof(arr)/sizeof(arr[0]);
partitionArray(arr, size, -4);
return 0;
}
12. Remove Duplicate Elements from an Array
#include <stdio.h>
if(j == k)
temp[k++] = arr[i];
}
int main() {
int arr[] = {1,2,3,4,3,2};
int size = sizeof(arr)/sizeof(arr[0]);
removeDuplicates(arr,size);
return(0);
}
13. Count Duplicate Elements from an Array
#include <stdio.h>
for(int j=i+1;j<size;j++) {
if(arr[i]==arr[j]) {
c++;
count[j] = -1;
}
}
if(count[i] != -1)
count[i] = c;
}
int main() {
int arr[] = {1,2,3,4,3,2};
int size = sizeof(arr)/sizeof(arr[0]);
countDuplicates(arr,size);
return(0);
}
14. Calculate Prime Factors of a Number
#include <stdio.h>
void primeFactors(int n) {
while(n % 2 == 0) {
printf("%d ",2);
n /=2;
}
for(int i=3;i*i<=n;i+=2){
while(n%i==0){
printf("%d ",i);
n/=i;
}
}
if(n >2){
printf("%d ",n);
}
}
int main() {
int n;
int main(){
int arr[]={1,2,3,4};
int size=sizeof(arr)/sizeof(arr[0]);
reverseArray(arr,size);
printf("Reversed array: ");
for(int i=0;i<size;i++)
printf("%d ",arr[i]);
return(0);
}
int main(){
int arr[]={1,2,3,4};
int size=sizeof(arr)/sizeof(arr[0]);
reverseArray(arr,size);
printf("Reversed array: ");
for(int i=0;i<size;i++)
printf("%d ",arr[i]);
return(0);
}
16. Calculate kth Smallest Number in an Array
#include <stdio.h>
#include <stdlib.h>
int main(){
int arr[]={12,-3,-5,-7,-4,-6};
int size=sizeof(arr)/sizeof(arr[0]);
int k=3;
return(0);
}
17. Implement Merge Sort#include <stdio.h>
void merge(int arr[], int leftIndex,int middleIndex,int rightIndex){
int leftSize=middleIndex-leftIndex+1,rightSize=rightIndex-
middleIndex;
int left[leftSize],right[rightSize];
for(int i=0;i<leftSize;i++)
left[i]=arr[leftIndex+i];
for(int j=0;j<rightSize;j++)
right[j]=arr[middleIndex+1+j];
int k=leftIndex,i=0,j=0;
while(i<leftSize){
arr[k++]=left[i++];
}
while(j<rightSize){
arr[k++]=right[j++];
}
}
mergeSort(arr,leftIndex,middleIndex);
mergeSort(arr,middleIndex+1,rightIndex);
merge(arr,leftIndex,middleIndex,rightIndex);
}
}
int main(){
int arr[]={12,-3,-5,-7,-4,-6};
int size=sizeof(arr)/sizeof(arr[0]);
printf("Unsorted array:\n");
for(int i=0;i<size;i++)
printf("%d ",arr[i]);
mergeSort(arr,0,size-1);
printf("\nSorted array:\n");
for(int i=0;i<size;i++)
printf("%d ",arr[i]);
return(0);
18. Find Minimum and Maximum Among Given Set
#include <stdio.h>
#include <limits.h>
*min=*max=arr[0];
for(int i=1;i<size;i++){
if(arr[i]<*min)
*min=arr[i];
if(arr[i]>*max)
*max=arr[i];
}
}
int main(){
int arr[]={12,-3,-5,-7,-4,-6};
int size=sizeof(arr)/sizeof(arr[0]);
int min,max;
findMinMax(arr,size,&min,&max);
return(0);
}
19. Perform Quick Sort
#include<stdio.h>
void swap(int* a,int* b){
int temp=*a;
*a=*b;
*b=temp;}
for(int j=low;j<high;j++){
if(arr[j]<=pivot){
swap(&arr[++i],&arr[j]);}}
swap(&arr[++i],&arr[high]);
return(i);}
quickSort(arr,low,pi-1);
quickSort(arr,pi+1,high);}}
int main(){
int arr[]={12,-3,-5,-7,-4,-6};
int size=sizeof(arr)/sizeof(arr[0]);
printf("Unsorted array:\n");
for(int i=0;i<size;i++)
printf("%d ",arr[i]);
quickSort(arr,0,size-1);
printf("\nSorted array:\n");
for(int i=0;i<size;i++)
printf("%d ",arr[i]);
return(0);}
}
int histogram[MAX_VALUE_RANGE]={};
for(size_t index=00:index<size;++index){
histogram[arr[index]]++;
printf("\nValue:% d Count:% d \n",index,histogram[index]);}}