Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*minimum of an array using recursion*/
- #include<stdio.h>
- #include<stdlib.h>
- int findMin(int* arr,int min,int size);
- int* populateArray(int size); // return type pointer
- void printArray(int* arr,int size);
- int main(){
- int i=0,size=0,min=0;
- int* arr;
- printf("enter size of array: ");
- scanf("%d",&size);
- arr=populateArray(size);
- printf("array is: ");
- printArray(arr,size);
- min=*(arr+0);
- min=findMin(arr,min,size);
- printf("\n\nthe min value in the arr is: %d\n",min);
- //getch(); // add this line if you are not running from command line
- return 0;
- }
- int* populateArray(int size){
- int i=0;
- int* arr;
- arr=(int*)malloc(sizeof(int)*size);
- srand(time(NULL)); //creates seed for rand() by taking system exec time
- for(i=0;i<size;i++){
- *(arr+i)=(rand()%1000); // populates array with integers 0-999
- }
- return arr;
- }
- void printArray(int* arr,int size){
- int i;
- for(i=0;i<size;i++)
- printf("%d ",*(arr+i));
- puts("\n");
- }
- int findMin(int *arr, int min, int size)
- {
- if (size == 0) {
- printf("in findMin() : passed values >> min:%5d size:%3d\n", min, size);
- return min;
- }
- printf("in findMin() : passed values >> array:%5d min:%d size:%3d\n", *(arr), min, size);
- if (min > *arr)
- min = *arr;
- return findMin(arr + 1, min, size - 1);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement