Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
C Program to find sum of perfect square elements in an array using pointers.
Problem
Write a program to find the sum of perfect square elements in an array by using pointers.
Given a number of elements in array as input and the sum of all the perfect square of those elements present in the array is output.
Solution
For example,
Input= 1, 2, 3, 4, 5, 9,10,11,16 The perfect squares are 1, 4, 9,16. Sum = 1 + 4 + 9 +16 = 30 Output: 30
Algorithm
Refer an algorithm given below to find the sum of perfect square elements in an array by using pointers.
Step 1 − Read number of elements in array at runtime.
Step 2 − Input the elements.
Step 3 − Declare and initialize the sum=0
Step 4 − Declare a pointer variable.
Step 5 − Check, whether the array element is a perfect square or not by using a pointer variable
Step 6 − If it is a perfect square, then, compute sum=sum+number
Step 7 − Return sum.
Example
Following is the C program to find the sum of perfect square elements in an array by using pointers −
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int sumPositive(int n,int *a){
int i,sum=0,m;
for(i=0;i<n;i++){
m=sqrt(*(a+i));
if(pow(m,2)==*(a+i)){
sum+=*(a+i);
}
}
return sum;
}
int main(){
int i,*a,n;
printf("Enter the size of array:
");
scanf("%d",&n);
a=(int*)malloc(n*sizeof(int));
printf("Enter the elements of array:
");
for(i=0;i<n;i++){
scanf("%d",a+i);
}
printf("Sum of positive square elements is %d",sumPositive(n,a));
return 0;
}
Output
When the above program is executed, it produces the following output −
Enter the size of array: 10 Enter the elements of array: 1 2 3 4 5 6 7 8 9 10 Sum of positive square elements is 14