Array_Lab_Assignment_Solutions (1)
Array_Lab_Assignment_Solutions (1)
Batch: 24A18
#include <stdio.h>
int main() {
int arr[] = {12, 35, 1, 10, 34, 1};
int n = sizeof(arr) / sizeof(arr[0]);
printf("Second Largest Element: %d\n", secondLargest(arr, n));
return 0;
}
#include <stdio.h>
int main() {
int arr[] = {10, 4, 3, 50, 23, 90};
int n = sizeof(arr) / sizeof(arr[0]);
largestThree(arr, n);
return 0;
}
#include <stdio.h>
int main() {
int arr[] = {10, 20, 30, 40, 50};
int n = sizeof(arr) / sizeof(arr[0]);
int key = 30;
int result = search(arr, n, key, 0);
printf("Element found at index: %d\n", result);
return 0;
}
#include <stdio.h>
int binarySearch(int arr[], int left, int right, int key) {
if (left > right) return -1;
int mid = (left + right) / 2;
if (arr[mid] == key) return mid;
if (arr[mid] > key) return binarySearch(arr, left, mid - 1, key);
return binarySearch(arr, mid + 1, right, key);
}
int main() {
int arr[] = {2, 3, 4, 10, 40};
int n = sizeof(arr) / sizeof(arr[0]);
int key = 10;
int result = binarySearch(arr, 0, n - 1, key);
printf("Element found at index: %d\n", result);
return 0;
}
#include <stdio.h>
void mergeArrays(int arr1[], int n1, int arr2[], int n2, int merged[]) {
int i = 0, j = 0, k = 0;
while (i < n1 && j < n2) {
if (arr1[i] < arr2[j]) merged[k++] = arr1[i++];
else merged[k++] = arr2[j++];
}
while (i < n1) merged[k++] = arr1[i++];
while (j < n2) merged[k++] = arr2[j++];
}
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 merged[n1 + n2];
mergeArrays(arr1, n1, arr2, n2, merged);
for (int i = 0; i < n1 + n2; i++) printf("%d ", merged[i]);
return 0;
}
6) Rearrange Array Such That Even Positioned Elements Are Greater Than Odd
Positioned Elements
#include <stdio.h>
#include <stdlib.h>
int main() {
int arr[] = {10, 20, 30, 40, 50, 60};
int n = sizeof(arr) / sizeof(arr[0]);
rearrangeArray(arr, n);
for (int i = 0; i < n; i++) printf("%d ", arr[i]);
return 0;
}
#include <stdio.h>
int main() {
int arr[] = {1, 2, 3, 4, 5, 6, 7};
int n = sizeof(arr) / sizeof(arr[0]);
int d = 2;
rotateLeft(arr, n, d);
for (int i = 0; i < n; i++) printf("%d ", arr[i]);
return 0;
}
8) Merge Sort
#include <stdio.h>
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;
}
#include <stdio.h>
#include <math.h>
// Calculate Mean
double mean = (double)sum / n;
// Calculate Median
for (int i = 0; i < n - 1; i++)
for (int j = i + 1; j < n; j++)
if (arr[i] > arr[j]) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
double median = n % 2 == 0 ? (arr[n / 2 - 1] + arr[n / 2]) / 2.0 : arr[n / 2];
// Calculate Mode
for (int i = 0; i < n; i++) {
int count = 0;
for (int j = 0; j < n; j++) if (arr[j] == arr[i]) count++;
if (count > maxCount) {
maxCount = count;
mode = arr[i];
}
}
int main() {
int arr[] = {1, 2, 2, 3, 4};
int n = sizeof(arr) / sizeof(arr[0]);
meanMedianMode(arr, n);
return 0;
}
#include <stdio.h>
int main() {
int arr[] = {1, 2, 3, 4, 5, 3, 3};
int n = sizeof(arr) / sizeof(arr[0]);
int key = 3;
n = removeOccurrences(arr, n, key);
for (int i = 0; i < n; i++) printf("%d ", arr[i]);
return 0;
}
#include <stdio.h>
int main() {
int arr[] = {10, 90, 49, 2, 1, 5, 23};
int n = sizeof(arr) / sizeof(arr[0]);
waveSort(arr, n);
for (int i = 0; i < n; i++) printf("%d ", arr[i]);
return 0;
}