Can anyone help me with a few C functions I cant use any arr

Can anyone help me with a few C functions? I can\'t use any arrow notation or brackets, just pointers and pointer arithmetic. In function main I have to first read the input size from the user, performing an error check using the check_size function. Call functions initialize_array and print_array to store and print the random numbers. Then display the results as shown in the output below. In main I must also declare an integer pointer and malloc space for it based on the size the user enters, assign the address of this pointer/array to another integer pointer and pass this pointer to all the functions.

The functions are:

void initialize_array(int *, int ): This function takes an integer pointer and the input size and stores random numbers using the integer pointer. The random numbers range from the value 1 to 5 only.

void print_array(int *, int): This function takes an integer pointer and the input size and prints out random numbers using the integer pointer.

int check_size(int): This function takes an integer number and checks if the number is between 1-100 or not. If it is, it returns 1, otherwise returns 0.

Sample Output:

Enter the size of the input: -12

Invalid input enter the size of the array again: 123

Invalid input enter the size of the array again: 0

Invalid input enter the size of the array again: 6

Input array

1 2 1 5 2 5

Enter the size of the input: 3

Input array

1 4 1

Solution

#include <stdio.h>

int check(int n)
{
if(n>=1 && n<=100)
return 1;
else
return 0;
}

void initialize_array(int *arr, int n)
{
int i;
  
for(i=0;i<n;i++)
*(arr+i) = rand()%5 +1;
}

void print_array(int *arr, int n)
{
int i;
  
printf(\"Input Array \ \");
for(i=0;i<n;i++)
printf(\"%d \",*(arr+i));
}

int main(void)
{
int n;
printf(\"Enter the size of the input: \");
scanf(\"%d\",&n);
  
while(check(n)!=1)
{
printf(\"Invalid input enter the size of the array again: \");
scanf(\"%d\",&n);
}
  
int *arr = (int *)malloc(sizeof(int)*n);
initialize_array(arr,n);
print_array(arr,n);
return 0;
}

OUTPUT:

Enter the size of the input: -12

Invalid input enter the size of the array again: 0

Invalid input enter the size of the array again: 123

Invalid input enter the size of the array again: 6

Input Array
4 2 3 1 4 1

Can anyone help me with a few C functions? I can\'t use any arrow notation or brackets, just pointers and pointer arithmetic. In function main I have to first r
Can anyone help me with a few C functions? I can\'t use any arrow notation or brackets, just pointers and pointer arithmetic. In function main I have to first r

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site