0% found this document useful (0 votes)
14 views8 pages

241032025

The document contains multiple C programming code snippets that demonstrate various algorithms and functions, including finding the second largest number, sorting arrays, searching elements, merging arrays, and calculating mean, median, and mode. Each code snippet is accompanied by a main function that tests the respective algorithm with sample data. The document showcases fundamental programming concepts such as recursion, sorting, and array manipulation.

Uploaded by

cfqfg2sbpk
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)
14 views8 pages

241032025

The document contains multiple C programming code snippets that demonstrate various algorithms and functions, including finding the second largest number, sorting arrays, searching elements, merging arrays, and calculating mean, median, and mode. Each code snippet is accompanied by a main function that tests the respective algorithm with sample data. The document showcases fundamental programming concepts such as recursion, sorting, and array manipulation.

Uploaded by

cfqfg2sbpk
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/ 8

241030106

1)
#include <stdio.h>
int getSecondLargest(int arr[], int n) {

int largest = -1, secondLargest = -1;

for (int i = 0; i < n; i++) {


if (arr[i] > largest)
largest = arr[i];
}

for (int i = 0; i < n; i++) {

if (arr[i] > secondLargest && arr[i] != largest) {


secondLargest = arr[i];
}
}
return secondLargest;
}

int main() {
int arr[] = {5, 3, 10, 12, 40, 41};
int n = sizeof(arr)/sizeof(arr[0]);

printf("%d\n", getSecondLargest(arr, n));


return 0;
}

2)
#include <stdio.h>
#include <limits.h>

void get3largest(int arr[], int n) {


int fst = INT_MIN, sec = INT_MIN, thd = INT_MIN;

for (int i = 0; i < n; i++) {


int x = arr[i];

if (x > fst) {
thd = sec;
sec = fst;
fst = x;
}

else if (x > sec && x != fst) {


thd = sec;
sec = x;
}
else if (x > thd && x != sec && x != fst) {
thd = x;
}
}

if (fst != INT_MIN) printf("%d ", fst);


if (sec != INT_MIN) printf("%d ", sec);
if (thd != INT_MIN) printf("%d ", thd);

printf("\n");
}

int main() {
int arr[] = {12, 11, 1, 10, 4, 1};
int n = sizeof(arr) / sizeof(arr[0]);
get3largest(arr, n);
return 0;
}

3)
#include <stdio.h>

int linearSearch(int arr[], int size, int key)


{

if (size == 0) {
return -1;
}

if (arr[size - 1] == key) {

return size - 1;
}

return linearSearch(arr, size - 1, key);


}

int main()
{
int arr[] = { 5, 15, 6, 9, 4 };
int key = 4;
int index
= linearSearch(arr, sizeof(arr) / sizeof(int), key);
if (index == -1) {
printf("Key not found in the array.\n");
}
else {
printf("The element %d is found at %d index of the "
"given array \n",
key, index);
}
return 0;
}

4)
#include <stdio.h>

int binarySearch(int arr[], int low, int high, int x)


{
while (low <= high) {
int mid = low + (high - low) / 2;

if (arr[mid] == x)
return mid;

if (arr[mid] < x)
low = mid + 1;

else
high = mid - 1;
}

return -1;
}

int main(void)
{
int arr[] = { 2, 3, 4, 10, 40 };
int n = sizeof(arr) / sizeof(arr[0]);
int x = 10;
int result = binarySearch(arr, 0, n - 1, x);
if(result == -1) printf("Element is not present in array");
else printf("Element is present at index %d",result);

}
5)
#include <stdio.h>
#include <stdlib.h>

void mergeArrays(int* arr1, int n1, int* arr2, int n2, int* arr3) {
int i = 0, j = 0, k = 0;

while (i < n1) {


arr3[k++] = arr1[i++];
}

while (j < n2) {


arr3[k++] = arr2[j++];
}

qsort(arr3, n1 + n2, sizeof(int), [](const void* a, const void* b) {


return (*(int*)a - *(int*)b);
});
}

int main() {
int arr1[] = {1, 3, 5, 7};
int arr2[] = {2, 4, 6, 8};
int n1 = sizeof(arr1) / sizeof(arr1[0]);
int n2 = sizeof(arr2) / sizeof(arr2[0]);
int arr3[n1 + n2];

mergeArrays(arr1, n1, arr2, n2, arr3);

for (int i = 0; i < n1 + n2; i++)


printf("%d ", arr3[i]);

return 0;
}
7)

#include <stdio.h>

void rotateArr(int arr[], int n, int d) {


for (int i = 0; i < d; i++) {

int first = arr[0];


for (int j = 0; j < n - 1; j++) {
arr[j] = arr[j + 1];
}
arr[n - 1] = first;
}
}

int main() {
int arr[] = { 1, 2, 3, 4, 5, 6 };
int d = 2;
int n = sizeof(arr) / sizeof(arr[0]);

rotateArr(arr, n, d);

for (int i = 0; i < n; i++)


printf("%d ", arr[i]);

return 0;
}
8)
#include <stdio.h>
#include <stdlib.h>

void merge(int arr[], int left, int mid, int right) {


int i, j, k;
int n1 = mid - left + 1;
int n2 = right - mid;
int leftArr[n1], rightArr[n2];

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


leftArr[i] = arr[left + i];
for (j = 0; j < n2; j++)
rightArr[j] = arr[mid + 1 + j];

i = 0;
j = 0;
k = left;
while (i < n1 && j < n2) {
if (leftArr[i] <= rightArr[j]) {
arr[k] = leftArr[i];
i++;
}
else {
arr[k] = rightArr[j];
j++;
}
k++;
}

while (i < n1) {


arr[k] = leftArr[i];
i++;
k++;
}

while (j < n2) {


arr[k] = rightArr[j];
j++;
k++;
}
}

void mergeSort(int arr[], int left, int right) {


if (left < right) {

int mid = left + (right - left) / 2;

mergeSort(arr, left, mid);


mergeSort(arr, mid + 1, right);

merge(arr, left, mid, right);


}
}

int main() {
int arr[] = { 12, 11, 13, 5, 6, 7 };
int n = sizeof(arr) / sizeof(arr[0]);

mergeSort(arr, 0, n - 1);
for (int i = 0; i < n; i++)
printf("%d ", arr[i]);
return 0;
}
9)
#include <stdio.h>

void findMeanMedianMode(int arr[], int n) {


// Calculate mean
int sum = 0;
for (int i = 0; i < n; i++) {
sum += arr[i];
}
float mean = (float)sum / n;

// Calculate median
int temp;
for (int i = 0; i < n - 1; i++) {
for (int j = i + 1; j < n; j++) {
if (arr[i] > arr[j]) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
float median;
if (n % 2 == 0) {
median = (arr[n / 2 - 1] + arr[n / 2]) / 2.0;
} else {
median = arr[n / 2];
}

// Calculate mode
int mode = arr[0];
int count = 1;
int maxCount = 1;
for (int i = 1; i < n; i++) {
if (arr[i] == arr[i - 1]) {
count++;
} else {
if (count > maxCount) {
maxCount = count;
mode = arr[i - 1];
}
count = 1;
}
}

printf("Mean: %.2f\n", mean);


printf("Median: %.2f\n", median);
printf("Mode: %d\n", mode);
}

int main() {
int n;
printf("Enter the number of elements: ");
scanf("%d", &n);

int arr[n];
printf("Enter %d elements:\n", n);
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}

findMeanMedianMode(arr, n);

return 0;
}
10)
#include <stdio.h>

int removeElement(int arr[], int n, int ele) {

int k = 0;
for (int i = 0; i < n; i++) {

if (arr[i] != ele) {
arr[k] = arr[i];

k++;
}
}
return k;
}

int main() {
int arr[] = {0, 1, 3, 0, 2, 2, 4, 2};
int n = sizeof(arr) / sizeof(arr[0]);
int ele = 2;
printf("%d\n", removeElement(arr, n, ele));
return 0;
}
11)
#include<stdio.h>
#include<stdlib.h>

int cmp(const void* a, const void* b) {


return (*(int*)a - *(int*)b);
}

void swap(int *x, int *y)


{
int temp = *x;
*x = *y;
*y = temp;
}
void sortInWave(int arr[], int n)
{
qsort(arr, n, sizeof(int), cmp);

// Swap adjacent elements


for (int i=0; i<n-1; i += 2)
swap(&arr[i], &arr[i+1]);
}

int main()
{
int arr[] = {10, 90, 49, 2, 1, 5, 23};
int n = sizeof(arr)/sizeof(arr[0]);
sortInWave(arr, n);
for (int i=0; i<n; i++)
printf("%d \t",arr[i]);
return 0;
}

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy