/* In this task, you should get familiar with malloc() and free(). In addition, you should implement the functions - fillArray(int size, int base_number) - printArray(int* numbers, int size). main: - user can enter the size of the integer array - user can enter the base number that is used to fill the array - print "Memory allocation failed\n" if memory allocation in fillArray failed - immediately return exit code 1 - free the allocated memory using free() at the end. call createAndFillArray(int size, int base_number) - create array by allocating enough memory for it on the heap using malloc() - if memory allocation is not successful, return NULL - After allocating fill the array with integer values with multiples of base_number using pointer arithmetic - Return pointer to array at the end of the function call printArray(int* numbers, int size) - print the array using pointer arithmetic Examples: Size: 5 Fill numbers array with multiples of: 3 3 6 9 12 15 Size: 4 Fill numbers array with multiples of: 5 5 10 15 20 Size: 12 Fill numbers array with multiples of: 100 100 200 300 400 500 600 700 800 900 1000 1100 1200 */ #include #include // TODO: Include the required header file int* createAndFillArray(int size, int base_number) { // TODO: Allocate memory int *numbers = (int*) malloc( size * sizeof(int) ); // TODO: Check if memory could be allocated if ( numbers == NULL ) return NULL; // TODO: Fill the array with multiples of base_number using pointer arithmetic and return it for ( int position = 0 ; position < size; position++ ) { *(numbers + position) = base_number * ( position + 1 ); } return numbers; } void printArray(int* numbers, int size) { for (int position = 0; position < size; position++) { printf("%d ", *(numbers + position)); } // TODO: Print the array using pointer arithmetic } int main(void) { int size = 0; printf("Size: "); scanf("%d", &size); int base_number = 0; printf("Fill numbers array with multiples of: "); scanf("%d", &base_number); int* numbers = createAndFillArray(size, base_number); if ( numbers == NULL ) { printf("Memory allocation failed\n"); return 1; // TODO: Return 1 if the memory allocation was not successful } printArray(numbers, size); free(numbers); // TODO: Free the allocated memory return 0; }