#include <stdio.h>#include <limits.h> // needed for ques8 INT_MAX and INT_MINvoid ques1() { int arrSize; printf("Array size: "); scanf("%d", &arrSize); float myArr[arrSize]; printf("Enter %d elements: ", arrSize); for (int i = 0; i < arrSize; i++) { scanf("%f", &myArr[i]); } float reverseArr[arrSize]; for (int j = arrSize - 1; j > -1; j--) { reverseArr[arrSize - 1 - j] = myArr[j]; } printf("\nReversed array: "); for (int k = 0; k < arrSize; k++) { printf("%f, ", reverseArr[k]); }}void ques2() { int arrSize; printf("Array size: "); scanf("%d", &arrSize); float myArr[arrSize]; printf("Enter %d elements: ", arrSize); for (int i = 0; i < arrSize; i++) { scanf("%f", &myArr[i]); } int indexPos; printf("Enter the index position to insert: "); scanf("%d", &indexPos); // check if index is valid if (indexPos < arrSize) { float toInsert; printf("Enter element to insert: "); scanf("%f", &toInsert); // new array will contain one element more than the original float newArr[arrSize + 1]; short reachedIndex = 0; for (int j = 0; j < arrSize + 1; j++) { if (j == indexPos) { reachedIndex = 1; newArr[j] = toInsert; continue; } if (reachedIndex) { newArr[j] = myArr[j - 1]; continue; } else { newArr[j] = myArr[j]; continue; } } printf("Array after insertion: "); for (int k = 0; k < arrSize + 1; k++) { printf("%f, ", newArr[k]); } } else { printf("Invalid index"); }}void ques3() { int arrSize; printf("Array Size: "); scanf("%d", &arrSize); float myArr[arrSize]; int i = 0; for (i = 0; i < arrSize; i++) { scanf("%f", &myArr[i]); } float elementToDelete; printf("Specify element to delete: "); scanf("%f", &elementToDelete); // Simple approach: Make a new array without the elementToDelete. float newArr[arrSize]; int indexTracker = 0; for (i = 0; i < arrSize; i++) { if (myArr[i] == elementToDelete) { continue; } newArr[indexTracker] = myArr[i]; indexTracker++; } // print the new array printf("New Array: "); for (i = 0; i < arrSize; i++) { printf("%f\t", newArr[i]); } printf("\n"); // Alternate Apporach: modify the original array itself // Below doesn't work for every case and is memory UNSAFE int eTDCounter = 0; for (i = 0; i < arrSize; i++) { if (myArr[i] != elementToDelete) { continue; } eTDCounter += 1; for (int j = i + 1; j < (arrSize - i); j++) { if (myArr[j] != elementToDelete) { break; } myArr[j] = 0; eTDCounter += 1; } myArr[i] = myArr[i + eTDCounter]; myArr[i + eTDCounter] = 0; i += eTDCounter; } // print the new array printf("Modified Array: "); for (i = 0; i < arrSize; i++) { printf("%f\t", myArr[i]); } printf("\n"); }void ques4() { // Linear search int arrSize; printf("Enter array size: "); scanf("%d", &arrSize); float myArr[arrSize]; printf("Enter the array (space separated): "); for (int i = 0; i < arrSize; i++) { scanf("%f", &myArr[i]); } float elementToSearch; printf("Enter element to search: "); scanf("%f", &elementToSearch); int occurences = 0; // You can also break the loop at first occurence for (int j = 0; j < arrSize; j++) { if (myArr[j] != elementToSearch) { continue; } printf("Element found at index: %d\n", j); occurences += 1; } printf("Total %d occurences of element %f\n", occurences, elementToSearch);}void ques5() { // Array Input int arrSize; printf("Enter array size: "); scanf("%d", &arrSize); float myArr[arrSize], temp; int i = 0; printf("Enter the array (space separated): "); for (i = 0; i < arrSize; i++) { scanf("%f", &myArr[i]); } // Bubble sort to sort the array in ascending order for (i = 0; i < arrSize; i++) { // Loop for one pass // Since the last elements i elements are already sorted for (int j = 0; j < arrSize - i - 1; j++) { if (myArr[j] > myArr[j + 1]) { // swap the elements temp = myArr[j]; myArr[j] = myArr[j + 1]; myArr[j + 1] = temp; } } } printf("[DEBUG] Sorted array: "); for (i = 0; i < arrSize; i++) { printf("%f\t", myArr[i]); } // Binary Search float elementToSearch; printf("\nEnter element to search: "); scanf("%f", &elementToSearch); int low = 0, high = arrSize -1, mid; while (low <= high) { mid = (low + high)/2; if (myArr[mid] < elementToSearch) { // work on right half low = mid + 1; } else if (myArr[mid] > elementToSearch) { // work on left half high = mid - 1; } else { printf("Element found at index: %d\n", mid); break; } }}void ques6() { int arrSize; printf("Enter array size: "); scanf("%d", &arrSize); float myArr[arrSize], sum = 0; // here we are calculating sum in the input loop itself // you can make a separate loop for it if you want printf("Enter the array (space separated): "); for (int i = 0; i < arrSize; i++) { scanf("%f", &myArr[i]); sum += myArr[i]; } printf("Sum: %f, Mean: %f\n", sum, sum/(float)arrSize);}void ques7() { int arrSize1; printf("Enter first array size: "); scanf("%d", &arrSize1); float myArr1[arrSize1]; printf("Enter first array (space separated): "); int i; for (i = 0; i < arrSize1; i++) { scanf("%f", &myArr1[i]); } int arrSize2; printf("Enter second array size: "); scanf("%d", &arrSize2); float myArr2[arrSize2]; printf("Enter second array (space separated): "); for(i = 0; i < arrSize2; i++) { scanf("%f", &myArr2[i]); } float mergedArray[arrSize1 + arrSize2]; for (i = 0; i < arrSize1; i++) { mergedArray[i] = myArr1[i]; } for (i = 0; i < arrSize2; i++) { mergedArray[arrSize1 + i] = myArr2[i]; } printf("Merged Array: "); // print merged array for (i = 0; i < (arrSize1 + arrSize2); i++) { printf("%f ", mergedArray[i]); } printf("\n");}// we will be using the limits header for INT_MAX and INT_MIN// you could choose them arbitrarily also as per your needsvoid ques8() { int arrSize; printf("Enter array size: "); scanf("%d", &arrSize); int myArr[arrSize]; printf("Enter the array: "); int i; for (i = 0; i < arrSize; i++) { scanf("%d", &myArr[i]); } int max = INT_MIN, min = INT_MAX; for (i = 0; i < arrSize; i++) { if (myArr[i] > max) { max = myArr[i]; } if (myArr[i] < min) { min = myArr[i]; } } printf("Max: %d, Min: %d\n", max, min);}int main() { ques8(); return 0;}``` < arrSize; i++) { scanf("%d", &myArr[i]); } int max = INT_MIN, min = INT_MAX; for (i = 0; i < arrSize; i++) { if (myArr[i] > max) { max = myArr[i]; } if (myArr[i] < min) { min = myArr[i]; } } printf("Max: %d, Min: %d\n", max, min);}int main() { ques8(); return 0;}