From 43710023f1fe460d0d0f6e93631f955d030e6f20 Mon Sep 17 00:00:00 2001 From: sgoudham Date: Mon, 12 Jul 2021 01:37:24 +0100 Subject: [PATCH] Implement simple algorithms & Experiment with pointers --- calculations.c | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 calculations.c diff --git a/calculations.c b/calculations.c new file mode 100644 index 0000000..46e62b2 --- /dev/null +++ b/calculations.c @@ -0,0 +1,67 @@ +#include +#include + +void getInputArr(int *arrSize, int **arr); +void println(char *printString, float printNum); +int findMax(int arr[], int arrSize); +float calcAverage(int arr[], int arrSize); + +int main() { + int arr[] = {10, 20, 30, 40, 50}; + int totalArrBytes = sizeof(arr); + int firstArrBytes = sizeof(arr[0]); + int arrSize = totalArrBytes / firstArrBytes; + + // Print Lengths for Understanding + println("Total Array Bytes: ", totalArrBytes); + println("First Element Bytes: ", firstArrBytes); + println("Total Length of Array: ", arrSize); + + println("Max Element in Array: ", findMax(arr, arrSize)); + println("Average of Elements in Array: ", calcAverage(arr, arrSize)); + + int *myArr; + int myArrSize; + getInputArr(&myArrSize, &myArr); + + for (int i = 0; i < myArrSize; i++) { + printf("Element No.%i: %i\n", i, myArr[i]); + } + + free(myArr); + return 0; +} + +void getInputArr(int *arrSize, int **myArr) { + printf("Please Enter Length of Array: \n"); + scanf("%i", arrSize); + + *myArr = (int *) malloc(*arrSize * sizeof(int)); + + printf("Enter %i Numbers!\n", *arrSize); + for (int i = 0; i < *arrSize; i++) { + scanf("%i", &((*myArr)[i])); + } +} + +void println(char *printString, float printNum) { + printf("%s%.2f\n", printString, printNum); +} + +int findMax(int arr[], int arrSize) { + int max = arr[0]; + for (int i = 1; i < arrSize; i++) { + if (arr[i] >= max) { + max = arr[i]; + } + } + return max; +} + +float calcAverage(int arr[], int arrSize) { + int sum = 0; + for (int i = 0; i < arrSize; i++) { + sum += arr[i]; + } + return sum / arrSize; +}