# C program to find minimum value in an array C program to find the minimum or the smallest element in an array. It also prints the location or index at which it occurs in the list of integers.

## How to find smallest number in an array?

Our algorithm assumes the first element as the minimum and then compares it with other elements, if an element is smaller than it then it becomes the new minimum, and this process is repeated till complete array is scanned.

## C program to find smallest number in an array

#include <stdio.h>

int main()
{
int array, size, c, location = 0;

printf("Enter number of elements in array\n");
scanf("%d", &size);

printf("Enter %d integers\n", size);

for (c = 0; c < size; c++)
scanf("%d", &array[c]);

for (c = 1; c < size; c++)
if (array[c] < array[location])
location = c;

printf("Minimum element is present at location %d and its value is %d.\n", location+1, array[location]);
return 0;
}

Output of program: If the minimum occurs two or more times in the array then the index at which it occurs first is printed or minimum value at the smallest index. You can modify the code to print the largest index at which the minimum occurs. You can also store all indices at which the minimum occurs in the array.

## C program to find minimum using function

Our function returns index at which minimum element occur.

#include <stdio.h>

int find_minimum(int[], int);

int main() {
int c, array, size, location, minimum;

printf("Input number of elements in array\n");
scanf("%d", &size);

printf("Input %d integers\n", size);

for (c = 0; c < size; c++)
scanf("%d", &array[c]);

location = find_minimum(array, size);
minimum  = array[location];

printf("Minimum element location = %d and value = %d.\n", location + 1, minimum);
return 0;
}

int find_minimum(int a[], int n) {
int c, index = 0;

for (c = 1; c < n; c++)
if (a[c] < min)
index = c;

return index;
}

## C programming code using pointers

#include <stdio.h>

int main()
{
int array, *minimum, size, c, location = 1;

printf("Enter the number of elements in array\n");
scanf("%d", &size);

printf("Enter %d integers\n", size);

for (c = 0; c < size; c++)
scanf("%d", &array[c]);

minimum = array;
*minimum = *array;

for (c = 1; c < size; c++)
{
if (*(array+c) < *minimum)
{
*minimum = *(array+c);
location = c+1;
}
}

printf("Minimum element found at location %d and it's value is %d.\n", location, *minimum);
return 0;
}