Prerequisite - Array Basics
Given an array, write a program to find the sum of values of even and odd index positions separately.
Examples:
Input : arr[] = {1, 2, 3, 4, 5, 6}
Output :Even index positions sum 9
Odd index positions sum 12
Explanation: Here, n = 6 so there will be 3 even
index positions and 3 odd index positions in an array
Even = 1 + 3 + 5 = 9
Odd = 2 + 4 + 6 = 12
Input : arr[] = {10, 20, 30, 40, 50, 60, 70}
Output : Even index positions sum 160
Odd index positions sum 120
Explanation: Here, n = 7 so there will be 3 odd
index positions and 4 even index positions in an array
Even = 10 + 30 + 50 + 70 = 160
Odd = 20 + 40 + 60 = 120
Implementation:
Try It Yourself
// CPP program to find out
// Sum of elements at even and
// odd index positions separately
#include <iostream>
using namespace std;
// Function to calculate sum
void EvenOddSum(int arr[], int n)
{
int even = 0;
int odd = 0;
for (int i = 0; i < n; i++) {
// Loop to find even, odd sum
if (i % 2 == 0)
even += arr[i];
else
odd += arr[i];
}
cout << "Even index positions sum " << even;
cout << "\nOdd index positions sum " << odd;
}
// Driver function
int main()
{
int arr[] = { 1, 2, 3, 4, 5, 6 };
int n = sizeof(arr) / sizeof(arr[0]);
EvenOddSum(arr, n);
return 0;
}
// Java program to find out
// Sum of elements at even and
// odd index positions separately
import java.io.*;
class EvenOddSum {
public static void main(String args[])
{
int arr[] = { 1, 2, 3, 4, 5, 6 };
int even = 0, odd = 0;
// Loop to find even, odd sum
for (int i = 0; i < arr.length; i++) {
if (i % 2 == 0)
even += arr[i];
else
odd += arr[i];
}
System.out.println("Even index positions sum: " + even);
System.out.println("Odd index positions sum: " + odd);
}
}
# Python program to find out
# Sum of elements at even and
# odd index positions separately
# Function to calculate Sum
def EvenOddSum(a, n):
even = 0
odd = 0
for i in range(n):
# Loop to find even, odd Sum
if i % 2 == 0:
even += a[i]
else:
odd += a[i]
print ("Even index positions sum ", even)
print ("nOdd index positions sum ", odd)
# Driver Function
arr = [1, 2, 3, 4, 5, 6]
n = len(arr)
EvenOddSum(arr, n)
# This code is contributed by Sachin Bisht
// C# program to find out
// Sum of elements at even and
// odd index positions separately
using System;
public class GFG {
public static void Main()
{
int[] arr = { 1, 2, 3, 4, 5, 6 };
int even = 0, odd = 0;
// Loop to find even, odd sum
for (int i = 0; i < arr.Length; i++)
{
if (i % 2 == 0)
even += arr[i];
else
odd += arr[i];
}
Console.WriteLine("Even index positions"
+ " sum: " + even);
Console.WriteLine("Odd index positions "
+ "sum: " + odd);
}
}
// This code is contributed by Sam007.
<?php
// PHP program to find out
// Sum of elements at even and
// odd index positions separately
// Function to calculate sum
function EvenOddSum($arr, $n)
{
$even = 0;
$odd = 0;
for ($i = 0; $i < $n; $i++)
{
// Loop to find even, odd sum
if ($i % 2 == 0)
$even += $arr[$i];
else
$odd += $arr[$i];
}
echo("Even index positions sum " . $even);
echo("\nOdd index positions sum " . $odd);
}
// Driver Code
$arr = array( 1, 2, 3, 4, 5, 6 );
$n = sizeof($arr);
EvenOddSum($arr, $n);
// This code is contributed by Ajit.
?>
<script>
// Javascript program to find out
// Sum of elements at even and
// odd index positions separately
// Function to calculate sum
function EvenOddSum(arr, n)
{
let even = 0;
let odd = 0;
for (let i = 0; i < n; i++)
{
// Loop to find even, odd sum
if (i % 2 == 0)
even += arr[i];
else
odd += arr[i];
}
document.write("Even index positions sum " + even);
document.write("<br>" + "Odd index positions sum " + odd);
}
// Driver function
let arr = [ 1, 2, 3, 4, 5, 6 ];
let n = arr.length;
EvenOddSum(arr, n);
// This code is contributed by Mayank Tyagi
</script>
Output
Even index positions sum 9 Odd index positions sum 12
Time Complexity: O(length(arr))
Auxiliary Space: 0(1)
Method 2: Using bitwise & operator
// CPP program to find out
// Sum of elements at even and
// odd index positions separately using bitwise & operator
#include <iostream>
using namespace std;
// Function to calculate sum
void EvenOddSum(int arr[], int n)
{
int even = 0;
int odd = 0;
for (int i = 0; i < n; i++) {
// Loop to find even, odd sum
if (i & 1 != 0)
odd += arr[i];
else
even += arr[i];
}
cout << "Even index positions sum " << even;
cout << "\nOdd index positions sum " << odd;
}
// Driver function
int main()
{
int arr[] = { 1, 2, 3, 4, 5, 6 };
int n = sizeof(arr) / sizeof(arr[0]);
EvenOddSum(arr, n);
return 0;
}
//This code is contributed by Vinay Pinjala.
// Java program to find out
// Sum of elements at even and
// odd index positions separately using bitwise & operator
public class Main {
public static void main(String[] args)
{
int[] arr = { 1, 2, 3, 4, 5, 6 };
int n = arr.length;
int even = 0;
int odd = 0;
for (int i = 0; i < n; i++)
{
// Loop to find even, odd sum
if ((i & 1) != 0) {
odd += arr[i];
}
else {
even += arr[i];
}
}
System.out.println("Even index positions sum: "
+ even);
System.out.println("Odd index positions sum: "
+ odd);
}
}
// This code is contributed by divyansh2212
# Python program to find out
# Sum of elements at even and
# odd index positions separately using bitwise & operator
# Function to calculate Sum
def EvenOddSum(a, n):
even = 0
odd = 0
for i in range(n):
# Loop to find even, odd Sum
if i &1:
odd += a[i]
else:
even += a[i]
print ("Even index positions sum ", even)
print ("Odd index positions sum ", odd)
# Driver Function
arr = [1, 2, 3, 4, 5, 6]
n = len(arr)
EvenOddSum(arr, n)
# This code is contributed by tvsk
using System;
namespace TestApplication
{
class Program
{
static void Main(string[] args)
{
int[] arr = { 1, 2, 3, 4, 5, 6 };
int n = arr.Length;
int even = 0;
int odd = 0;
for (int i = 0; i < n; i++)
{
// Loop to find even, odd sum
if ((i & 1) != 0)
{
odd += arr[i];
}
else
{
even += arr[i];
}
}
Console.WriteLine("Even index positions sum: " + even);
Console.WriteLine("Odd index positions sum: " + odd);
}
}
}
// JS program to find out
// Sum of elements at even and
// odd index positions separately using bitwise & operator
// Function to calculate sum
function EvenOddSum(arr, n)
{
let even = 0;
let odd = 0;
for (let i = 0; i < n; i++)
{
// Loop to find even, odd sum
if (i & 1 != 0)
odd += arr[i];
else
even += arr[i];
}
console.log("Even index positions sum " + even);
console.log("\nOdd index positions sum " + odd);
}
// Driver function
let arr = [ 1, 2, 3, 4, 5, 6 ];
let n = arr.length;
EvenOddSum(arr, n);
Output
Even index positions sum 9 Odd index positions sum 12
Time Complexity: O(length(arr))
Auxiliary Space: 0(1)
Method 3: Using slicing in python:
Calculate sum of all even indices using slicing and repeat the same with odd indices and print sum.
Below is the implementation:
#include <iostream>
using namespace std;
// Function to calculate sum
int EvenOddSum(int arr[] , int n)
{
int even = 0;
int odd = 0;
// Loop to find even, odd sum
for (int i = 0; i < n; i++) {
if (i % 2 == 0)
even += arr[i];
else
odd += arr[i];
}
cout<<"Even index positions sum "<<even<<"\n" ;
cout<<"Odd index positions sum " <<odd;
}
int main()
{
int arr[] = { 1, 2, 3, 4, 5, 6 };
int n =sizeof(arr)/sizeof(arr[0]);
EvenOddSum(arr, n);
}
// This code is contributed by ksrikanth0498.
// Java program to find out sum of elements at even
// and odd index positions separately
import java.io.*;
class GFG {
// Function to calculate sum
static void EvenOddSum(int[] arr, int n)
{
int even = 0;
int odd = 0;
// Loop to find even, odd sum
for (int i = 0; i < n; i++) {
if (i % 2 == 0)
even += arr[i];
else
odd += arr[i];
}
System.out.println("Even index positions sum "
+ even);
System.out.print("Odd index positions sum " + odd);
}
public static void main(String[] args)
{
int[] arr = { 1, 2, 3, 4, 5, 6 };
int n = arr.length;
EvenOddSum(arr, n);
}
}
// This code is contributed by lokeshmvs21.
# Python program to find out
# Sum of elements at even and
# odd index positions separately
# Function to calculate Sum
def EvenOddSum(a, n):
even_sum = sum(a[::2])
odd_sum = sum(a[1::2])
print("Even index positions sum", even_sum)
print("Odd index positions sum", odd_sum)
# Driver Function
arr = [1, 2, 3, 4, 5, 6]
n = len(arr)
EvenOddSum(arr, n)
# This code is contributed by vikkycirus
// C# program to find out sum of elements at even
// and odd index positions separately
using System;
public class GFG {
// Function to calculate sum
static void EvenOddSum(int[] arr, int n)
{
int even = 0;
int odd = 0;
// Loop to find even, odd sum
for (int i = 0; i < n; i++) {
if (i % 2 == 0)
even += arr[i];
else
odd += arr[i];
}
Console.WriteLine("Even index positions sum "
+ even);
Console.WriteLine("Odd index positions sum " + odd);
}
static public void Main()
{
// Code
int[] arr = { 1, 2, 3, 4, 5, 6 };
int n = arr.Length;
EvenOddSum(arr, n);
}
}
// This code is contributed by lokeshmvs21.
<script>
// Javascript program to find out
// Sum of elements at even and
// odd index positions separately
// Function to calculate sum
function EvenOddSum(arr, n)
{
let even = 0;
let odd = 0;
for (let i = 0; i < n; i++)
{
// Loop to find even, odd sum
if (i % 2 == 0)
even += arr[i];
else
odd += arr[i];
}
document.write("Even index positions sum " + even);
document.write("<br>" + "Odd index positions sum " + odd);
}
// Driver function
let arr = [ 1, 2, 3, 4, 5, 6 ];
let n = arr.length;
EvenOddSum(arr, n);
// This code is contributed by avijitmondal1998.
</script>
Output
Even index positions sum 9 Odd index positions sum 12
Time Complexity: O(n) where n is no of elements in given array
Auxiliary Space: 0(1)
Method 2: Using bitwise | operator
// C++ program to find out
// Sum of elements at even and
// odd index positions separately using bitwise | operator
#include<bits/stdc++.h>
using namespace std;
// Function to calculate Sum
void EvenOddSum(vector<int>a, int n)
{
int even = 0;
int odd = 0;
for(int i=0; i<n; i++)
{
// Loop to find even, odd Sum
if ((i|1)==i)
odd+=a[i];
else
even+=a[i];
}
cout<< "Even index positions sum "<< even<<endl;
cout<< "Odd index positions sum "<< odd<<endl;
}
// Driver Function
int main()
{
vector<int>arr = {1, 2, 3, 4, 5, 6};
int n = arr.size();
EvenOddSum(arr, n);
}
# Python program to find out
# Sum of elements at even and
# odd index positions separately using bitwise | operator
# Function to calculate Sum
def EvenOddSum(a, n):
even = 0
odd = 0
for i in range(n):
# Loop to find even, odd Sum
if i|1==i:
odd+=a[i]
else:
even+=a[i]
print ("Even index positions sum ", even)
print ("Odd index positions sum ", odd)
# Driver Function
arr = [1, 2, 3, 4, 5, 6]
n = len(arr)
EvenOddSum(arr, n)
// JavaScript program to find out
// Sum of elements at even and
// odd index positions separately using bitwise | operator
// Function to calculate Sum
function EvenOddSum(a, n) {
let even = 0;
let odd = 0;
for(let i = 0; i < n; i++) {
// Loop to find even, odd Sum
if ((i|1) === i)
odd += a[i];
else
even += a[i];
}
console.log("Even index positions sum ", even);
console.log("Odd index positions sum ", odd);
}
// Driver Function
const arr = [1, 2, 3, 4, 5, 6];
const n = arr.length;
EvenOddSum(arr, n);
import java.util.*;
class Main {
// Function to calculate Sum of elements at even and odd
// index positions separately
static void EvenOddSum(List<Integer> a, int n)
{
int even = 0;
int odd = 0;
for (int i = 0; i < n; i++) {
// Loop to find even, odd Sum
if ((i | 1) == i) {
odd += a.get(i);
}
else {
even += a.get(i);
}
}
// Print the sum of elements at even and odd index
// positions
System.out.println("Even index positions sum "
+ even);
System.out.println("Odd index positions sum "
+ odd);
}
// Driver Function
public static void main(String[] args)
{
// Create a list of integers
List<Integer> arr = new ArrayList<>(
Arrays.asList(1, 2, 3, 4, 5, 6));
// Get the size of the list
int n = arr.size();
// Call the EvenOddSum function
EvenOddSum(arr, n);
}
}
// C# program to find out
// Sum of elements at even and
// odd index positions separately using bitwise | operator
using System;
using System.Collections.Generic;
class MainClass {
// Function to calculate Sum
static void EvenOddSum(List<int> a, int n)
{
int even = 0;
int odd = 0;
for (int i = 0; i < n; i++) {
// Loop to find even, odd Sum
if ((i | 1) == i)
odd += a[i];
else
even += a[i];
}
Console.WriteLine("Even index positions sum "
+ even);
Console.WriteLine("Odd index positions sum " + odd);
}
// Driver Function
public static void Main(string[] args)
{
List<int> arr = new List<int>{ 1, 2, 3, 4, 5, 6 };
int n = arr.Count;
EvenOddSum(arr, n);
}
}
Output
Even index positions sum 9 Odd index positions sum 12
Time Complexity: O(length(arr))
Auxiliary Space: 0(1)