You may test the parity of a number by looking at the reminder of its division by
2
. If the reminder is zero the the number is
even, otherwise it is
odd (note you may also test its Least Significant Bit (
LSB
): in binary base all odd numbers have the
LSB
set).
I've fixed your code:
#include<stdio.h>
#define MAX 50 // максимално възможен брой на елементите от масива
int findMin(int x[], int n); int findSum(int x[], int n); int findEvenSum(int x[], int n);
int main()
{
int arr[MAX]; int min, n, even_sum, sum = 0;
do
{
printf(" n= "); scanf("%d", &n);
} while (n<1 || n>MAX);
printf(" Vavedete %d elementa v masiva :\n", n);
for (int i = 0; i < n; ++i) {
printf(" element - %d : ", i);
scanf("%d", &arr[i]);
}
sum = findSum(arr, n); min = findMin(arr, n); even_sum = findEvenSum(arr, n);
printf(" The sum is : %d\n", sum); printf(" The min is : %d\n", min); printf(" The sum of Even is: %d\n", even_sum);
printf(" The sum of Odd is : %d\n", (sum - even_sum));
return 0;
}
int findSum(int arr[], int n)
{
int sum = 0;
for (int i = 0; i < n; ++i)
sum += arr[i];
return sum;
}
int findMin(int arr[MAX], int n)
{
int min = arr[0]; for (int i = 1; i < n; ++i)
{
if (min > arr[i])
min = arr[i];
}
return min;
}
int findEvenSum(int arr[], int n)
{
int even_sum = 0;
for (int i = 0; i < n; ++i)
{
if ( (arr[i] % 2 == 0) ) {
even_sum += arr[i];
}
}
return even_sum;
}