C Program to Search an Element in an array using Pointers
Get an element and find the location of element in array, print -1 if element is not found.
Sample Input 1:
5 5 7 9 3 1 9
Sample Output 1:
2
Sample Input 2:
5 5 7 9 3 1 4
Sample Output 2:
-1
Try your Solution
Strongly recommended to Solve it on your own, Don't directly go to the solution given below.
Program or Solution
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int n,i,pos=-1,*a,element;
printf("Enter size of array:");
scanf("%d",&n);
a=calloc(sizeof(int),n);
printf("Enter %d Elements:",n);
for(i=0;i<n;i++)
{
scanf("%d",a+i);
}
printf("Enter a element to find:");
scanf("%d",&element);
for(i=0;i<n;i++)
{
if(*(a+i)==element)
{
pos=i;
break;
}
}
printf("%d is in %d",element,pos);
return 0;
}
Program Explanation
calloc() is predefined function allocates memory of specified bytes.
Number of bytes is specified as (4,n), it means n 4 bytes.
Since we are using integers, specified as 4 bytes.
*a denotes first four bytes, *(a+1) denotes second four bytes, *(a+2) denotes third four bytes and so on., i is initialized to 0 and incremented by 1 at each iteration of both the for loops.
First for loop reads n input numbers from user and stores them in array a[] from location 0 to n-1 using Second for loop the element is searched in each location from 0 to the location of element or location n-1.
if element is found in a location that location i is stored as pos and exit from the for loop using break statement.
if element is not found from 0 to n-1 location, pos remains -1.
Comments
Related Programs
- C Program to get and print the array elements using pointers
- C Program to find the sum of array elements using pointers
- C Program to find Smallest element in the array using pointers
- C Program to Reverse the Elements in array using pointers
- C Program to Sort the Elements in ascending order using pointers
- Find the Length of given String using Pointers
- Find the location of given Character in a String using Pointers
- Covert Lowercase characters to Uppercase Characters using Pointers
- Remove the spaces in given String using Pointers