# Program to print product of even and odd indexed elements in an Array

Given an array of integers. The task is to write a program to find the product of elements at even and odd index positions separately.

Note: 0-based indexing is considered for the array. That is the index of the first element in the array is zero.

Examples:

```Input : arr = {1, 2, 3, 4, 5, 6}
Output : Even Index Product : 15
Odd Index Product : 48
Explanation: Here, N = 6 so there will be 3 even
index positions and 3 odd index positions in the array
Even = 1 * 3 * 5 = 15
Odd =  2 * 4 * 6 = 48

Input : arr = {10, 20, 30, 40, 50, 60, 70}
Output : Even Index Product : 105000
Odd Index Product : 48000
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 = 1050000
Odd = 20 * 40 * 60 = 48000
```

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

Traverse the array and keep two variables even and odd to store the product of elements and even and odd indexes respectively. While traversing check if the current index is even or odd, i.e. (i%2) is zero or not. If even multiply current element with even indexed product otherwise multiply it with odd indexed product.

Below is the implementation of the above approach:

 `// CPP program to find product of elements ` `// at even and odd index positions separately ` `#include ` `using` `namespace` `std; ` ` `  `// Function to calculate product ` `void` `EvenOddProduct(``int` `arr[], ``int` `n) ` `{ ` `    ``int` `even = 1; ` `    ``int` `odd = 1; ` ` `  `    ``for` `(``int` `i = 0; i < n; i++) { ` ` `  `        ``// Loop to find even, odd product ` `        ``if` `(i % 2 == 0) ` `            ``even *= arr[i]; ` `        ``else` `            ``odd *= arr[i]; ` `    ``} ` ` `  `    ``cout << ``"Even Index Product : "` `<< even << endl; ` `    ``cout << ``"Odd Index Product : "` `<< odd; ` `} ` ` `  `// Driver Code ` `int` `main() ` `{ ` `    ``int` `arr[] = { 1, 2, 3, 4, 5, 6 }; ` `    ``int` `n = ``sizeof``(arr) / ``sizeof``(arr); ` ` `  `    ``EvenOddProduct(arr, n); ` ` `  `    ``return` `0; ` `} `

 `// Java program to find product of elements ` `// at even and odd index positions separately ` ` `  `class` `GFG ` `{ ` `     `  `    ``// Function to calculate product ` `    ``static` `void` `EvenOddProduct(``int` `arr[], ``int` `n) ` `    ``{ ` `        ``int` `even = ``1``; ` `        ``int` `odd = ``1``; ` `     `  `        ``for` `(``int` `i = ``0``; i < n; i++) { ` `     `  `            ``// Loop to find even, odd product ` `            ``if` `(i % ``2` `== ``0``) ` `                ``even *= arr[i]; ` `            ``else` `                ``odd *= arr[i]; ` `        ``} ` `     `  `        ``System.out.println(``"Even Index Product : "` `+ even); ` `        ``System.out.println(``"Odd Index Product : "` `+ odd); ` `    ``} ` `     `  `    ``// Driver Code ` `    ``public` `static` `void` `main(String []args) ` `    ``{ ` `        ``int` `arr[] = { ``1``, ``2``, ``3``, ``4``, ``5``, ``6` `}; ` `        ``int` `n = arr.length; ` `     `  `        ``EvenOddProduct(arr, n); ` `             `  `    ``} ` ` `  `   ``// This code is contributed by ihritik ` `} `

 `# Python3 program to find product of elements ` `# at even and odd index positions separately ` ` `  `  `  ` `  `# Function to calculate product ` `def` `EvenOddProduct(arr, n): ` `  `  `    ``even ``=` `1`   `    ``odd ``=` `1`   ` `  `    ``for` `i ``in` `range` `(``0``,n): ` ` `  `        ``# Loop to find even, odd product ` `        ``if` `(i ``%` `2` `=``=` `0``): ` `            ``even ``*``=` `arr[i]   ` `        ``else``: ` `            ``odd ``*``=` `arr[i]   ` `      `  ` `  `    ``print``(``"Even Index Product : "` `, even)   ` `    ``print``(``"Odd Index Product : "` `, odd)   ` `  `  ` `  `# Driver Code ` `  `  `arr ``=`   `1``, ``2``, ``3``, ``4``, ``5``, ``6`     `n ``=` `len``(arr)  ` ` `  `EvenOddProduct(arr, n)   ` ` `  `# This code is contributed by ihritik `

 `// C# program to find product of elements ` `// at even and odd index positions separately ` ` `  `using` `System; ` `class` `GFG ` `{ ` `     `  `    ``// Function to calculate product ` `    ``static` `void` `EvenOddProduct(``int` `[]arr, ``int` `n) ` `    ``{ ` `        ``int` `even = 1; ` `        ``int` `odd = 1; ` `     `  `        ``for` `(``int` `i = 0; i < n; i++) { ` `     `  `            ``// Loop to find even, odd product ` `            ``if` `(i % 2 == 0) ` `                ``even *= arr[i]; ` `            ``else` `                ``odd *= arr[i]; ` `        ``} ` `     `  `        ``Console.WriteLine(``"Even Index Product : "` `+ even); ` `        ``Console.WriteLine(``"Odd Index Product : "` `+ odd); ` `    ``} ` `     `  `    ``// Driver Code ` `    ``public` `static` `void` `Main() ` `    ``{ ` `        ``int` `[]arr = { 1, 2, 3, 4, 5, 6 }; ` `        ``int` `n = arr.Length; ` `     `  `        ``EvenOddProduct(arr, n); ` `     `  `         `  `    ``} ` ` `  `   ``// This code is contributed by ihritik ` `} `

 ` `

Output:
```Even Index Product : 15
Odd Index Product : 48
```

Time complexity : O(n)

GeeksforGeeks has prepared a complete interview preparation course with premium videos, theory, practice problems, TA support and many more features. Please refer Placement 100 for details

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.

Improved By : ihritik, VishalBachchas

Practice Tags :