You are in browsing mode. You must LOGIN to create, edit, and delete your own blogs.

Blog Spot
thumb_up
0
thumb_down
0

CA


Word Count: 2003

Author: AdityaMokashi

Topic: PROGRAMS

Created On: 28 Apr 2025

Last Updated: 28 Apr 2025 14:00:37


BINARY SEARCH #include<stdio.h>   int main() {   printf("Enter the size of the array: "); scanf("%d",&n);   int arr[n]; printf("Enter the array elements:\n"); for( i = 0 ; i < n ; i++) { scanf("%d",&arr[i]); }   printf("Enter the element to be searched: "); scanf("%d",&ele);   sort(arr , n); printf("The sorted array is:\n"); for(i = 0 ; i < n ;i++) {   printf("%d\t",arr[i]); }   Binary(arr , n , ele);       return 0; } int n , ele , i , p;   void sort(int arr[] , int size ) {   int i , j ; for(i = 0 ; i < size-1 ; i++) { for(j = 0 ; j < size-1-i ; j++) { if(arr[j] > arr[j + 1]) { int temp = arr[j]; arr[j] = arr[j+1]; arr[j + 1] = temp ; } } }       }   void Binary(int arr[] , int size , int element) {   int l = 0, h = size-1 , m , counter = 0;   while(l <= h) {   m = (l + h)/2;   if( element == arr[m]) { printf("\nElement found at %d",m); counter++; break; }   if(element < arr[m]) { h = h - 1; counter++;     } else if(element > arr[m]) { l = l + 1; counter++; }     }   printf("\nThe number of comparisons are %d",counter); if(element != arr[m]) { printf("\nElement not found"); } }   MIN_MX    #include<stdio.h>   int min_max() { int a,i;         printf("Enter the Size of Array=");         scanf("%d",&a);     int arr[a];     printf("Enter the array elements=\n");     for(i = 0; i<a; i++)     {     scanf("%d",&arr[i]); } int min,max; min= arr[0]; max= arr[0];   for(i = 0; i<a; i++) { if(arr[i]<min) { min=arr[i]; } if(arr[i]>max) { max=arr[i]; } }   printf("THE MIN NUMBER IS: %d\n",min); printf("THE MAX NUMBER IS: %d",max);   } int main() { min_max(); return 0; }     MERGE SORT ALGORITHM   #include<stdio.h>   int count = 0;   void Merge(int arr[], int low, int mid, int high ) {     int l = low;     int r = mid + 1;     int i = low;     int b[high - low + 1];            while ((l <= mid) && (r <= high)) {         if (arr[l] <= arr[r]) {             b[i - low] = arr[l];             l++;             count++;         } else {             b[i - low] = arr[r];             r++;             count++ ;         }         i++;     }          while(l <= mid) {         b[i - low] = arr[l];         l++;         i++;             }           while (r <= high) {         b[i - low] = arr[r];         r++;         i++;              }            for (i = low; i <= high; i++) {         arr[i] = b[i - low];     }      //    printf("Comparisons: %d\n",count); }   void MergeSort(int arr[], int low, int high ) {     if (low < high) {         int mid = (low + high) / 2;         MergeSort(arr, low, mid);          MergeSort(arr, mid + 1, high );          Merge(arr, low, mid, high );      } }   int main() {     int n, i ;       printf("Enter the size of the array: ");     scanf("%d", &n);       int arr[n];       printf("Enter the elements of the array:\n");     for (i = 0; i < n; i++) {         scanf("%d", &arr[i]);     }         MergeSort(arr, 0, n - 1 );         printf("The sorted array is:\n");     for (i = 0; i < n; i++) {         printf("%d\t", arr[i]);     }     printf("\n");    printf("Comparisons: %d\n",count);        return 0; }

QUICK SORT

            #include <stdio.h>
            //Quick sort
            void swap(int arr[], int i, int j) {
                int temp;
                temp = arr[i];
                arr[i] = arr[j];
                arr[j] = temp;
            }
            
            // Partition function to put smaller numbers on left, bigger on right
            int partition(int arr[], int low, int high) {
                int pivot = arr[high]; // pick last number as pivot
                int i = low;
            
                for (int j = low; j < high; j++) {
                    if (arr[j] < pivot) {
                        swap(arr, i, j);
                        i++;
                    }
                }
            
                swap(arr, i, high); 
                return i;
            }
            
            void quickSort(int arr[], int low, int high) {
                if (low < high) {
                    int pi = partition(arr, low, high); // find pivot position
            
                    // Sort the two halves
                    quickSort(arr, low, pi - 1);
                    quickSort(arr, pi + 1, high);
                }
            }
            
            // Function to print the array
            void printArray(int arr[], int size) {
                printf("Sorted numbers: ");
                for (int i = 0; i < size; i++) {
                    printf("%d ", arr[i]);
                }
                printf("\n");
            }
            
            // Main function
            int main() {
                int arr[100];
                int n;
            
                printf("How many numbers? ");
                scanf("%d", &n);
            
                printf("Enter the numbers:\n");
                for (int i = 0; i < n; i++) {
                    scanf("%d", &arr[i]);
                }
            
                quickSort(arr, 0, n - 1); // Call quick sort
                printArray(arr, n);       // Print the sorted array
            
                return 0;
            }

PRIM'S ALGO 

#include <stdio.h>   #define INF 9999 #define MAX 100   int main() {     int n, i, j, u, v, min, cost[MAX][MAX], visited[MAX] = {0}, ne = 1, mincost = 0;       printf("Enter the number of vertices: ");     scanf("%d", &n);       printf("Enter the adjacency matrix (use 0 for no edge):\n");     for (i = 0; i < n; i++)         for (j = 0; j < n; j++) {             scanf("%d", &cost[i][j]);             if (cost[i][j] == 0)                 cost[i][j] = INF;         }       visited[0] = 1; // Start from the first vertex       printf("Edges in the Minimum Spanning Tree:\n");     while (ne < n) {         min = INF;         for (i = 0; i < n; i++) {             if (visited[i]) {                 for (j = 0; j < n; j++) {                     if (!visited[j] && cost[i][j] < min) {                         min = cost[i][j];                         u = i;                         v = j;                     }                 }             }         }         printf("%d - %d : %d\n", u + 1, v + 1, min);         mincost += min;         visited[v] = 1;         ne++;     }       printf("Minimum cost = %d\n", mincost);     return 0; }

 

KNAPSAK PROBLEM

#include <stdio.h>   int main() {     int n, max_weight;     printf("How many toys do you have? ");     scanf("%d", &n);     printf("What's the max weight your bag can hold? ");     scanf("%d", &max_weight);       int weight[n], value[n];     printf("Enter weight and value for each toy:\n");     for (int i = 0; i < n; i++) {         printf("Toy %d: ", i + 1);         scanf("%d %d", &weight[i], &value[i]);     }       int dp[n + 1][max_weight + 1];      for (int i = 0; i <= n; i++) {         for (int w = 0; w <= max_weight; w++) {             if (i == 0 || w == 0) {                 dp[i][w] = 0;             } else if (weight[i - 1] <= w) {                 int take = value[i - 1] + dp[i - 1][w - weight[i - 1]];                 int leave = dp[i - 1][w];                 dp[i][w] = (take > leave) ? take : leave;             } else {                 dp[i][w] = dp[i - 1][w];             }         }     }       printf("Max happiness you can carry: %d\n", dp[n][max_weight]);     return 0; }

 

Privacy Policy | Terms and Conditions | Capture your Thoughts