Sum of alternate elements of a N x N matrix

06 May, 2021
Given an NxN matrix. The task is to find the sum of the alternate elements of the given matrix. For example, in a 2 x 2 matrix the alternate elements are { A[0][0], A[1, 1] } and { A[1][0], A[0][1] }.Examples:  
Input: mat[][] = { { 1, 2},
                   { 3, 4} }
Output : Sum of alternate elements : 5, 5
Explanation: The alternate elements are {1, 4} 
and {2, 3} so their sum are 5, 5.

Input : mat[][] = { { 1, 2, 3 },
                    { 4, 5, 6 },
                    { 7, 8, 9 } }
Output : Sum of alternate elements :25, 20
 
The idea is to traverse the matrix and also keep a counter. We will add the elements whose counter value is even in one variable and with odd counter value in other and finally print the two sums on complete traversal of the matrix.Below is the implementation of the above approach:  
C++
Java
Python 3
C#
Javascript
// C++ program to print sum of alternate// elements of a N x N matrix#include <bits/stdc++.h>using namespace std; // Function to find the sum of alternate// elements of a matrixvoid sumAlternate(int* arr, int n){    int sum1 = 0, sum2 = 0;     // check the alternate elements    for (int i = 0; i < n * n; i++) {         // count the elements at even places        if (i % 2 == 0)            sum1 += *(arr + i);         else // count the elements at odd places            sum2 += *(arr + i);    }     cout << "Sum of alternate elements : " << sum1         << ", " << sum2 << endl;} // Driver codeint main(){    int mat[3][3] = { { 1, 2, 3 },                      { 4, 5, 6 },                      { 7, 8, 9 } };    int n = 3;     // find the sum of alternate elements    sumAlternate(&mat[0][0], n);     return 0;}
// Java program to print sum of alternate// elements of a N x N matrix class GFG{        // Function to find the sum of alternate        // elements of a matrix        static void sumAlternate(int [][] mat, int n)        {            int sum1 = 0, sum2 = 0;            int cnt=0;            // check the alternate elements            for (int i = 0; i < n; i++) {                         for(int j=0;j<n ;j++)                {                    if (cnt % 2 == 0)                        sum1 += mat[i][j];                                 else // count the elements at odd places                        sum2 += mat[i][j];                                    cnt++;                }            }                     System.out.println("Sum of alternate elements : " + sum1 + ", " + sum2);        }                 // Driver code        public static void main(String [] args)        {            int [][]mat = { { 1, 2, 3 },                            { 4, 5, 6 },                            { 7, 8, 9 } };            int n = 3;                     // find the sum of alternate elements            sumAlternate(mat, n);                              } } // This code is contributed by ihritik
# Python 3 program to print sum of# alternate elements of a N x N matrix # Function to find the sum of# alternate elements of a matrixdef sumAlternate(arr, n):     sum1 = 0    sum2 = 0     # check the alternate elements    i = 0    while i < n * n :         # count the elements at        # even places        if (i % 2 == 0):            sum1 += (arr + i)         else: # count the elements              # at odd places            sum2 += (arr + i)                     i += 1     print("Sum of alternate elements : " +             str(sum1) + ", " + str(sum2)) # Driver codeif __name__ == "__main__":    mat = [[ 1, 2, 3 ],        [4, 5, 6 ],        [7, 8, 9 ]]    n = 3     # find the sum of alternate elements    sumAlternate(mat[0][0], n) # This code is contributed# by ChitraNayal
// C# program to print sum of alternate// elements of a N x N matrixusing System;class GFG{// Function to find the sum of// alternate elements of a matrixstatic void sumAlternate(int[,] mat,                         int n){    int sum1 = 0, sum2 = 0;    int cnt = 0;         // check the alternate elements    for (int i = 0; i < n; i++)    {         for(int j = 0; j < n; j++)        {            if (cnt % 2 == 0)                sum1 += mat[i, j];                 else // count the elements                 // at odd places                sum2 += mat[i, j];                 cnt++;        }    }     Console.WriteLine("Sum of alternate elements : " +                                  sum1 + ", " + sum2);} // Driver codepublic static void Main(){    int[,] mat = { { 1, 2, 3 },                    { 4, 5, 6 },                    { 7, 8, 9 } };    int n = 3;     // find the sum of alternate elements    sumAlternate(mat, n);}} // This code is contributed// by Akanksha Rai(Abby_akku)
<script>// Javascript program to print sum of alternate// elements of a N x N matrix // Function to find the sum of alternate// elements of a matrixfunction sumAlternate(arr, n){    var sum1 = 0, sum2 = 0;    var cnt = 0;     // check the alternate elements    for (var i = 0; i < n ; i++) {         for (var j = 0; j < n ; j++) {        // count the elements at even places        if (cnt % 2 == 0)            sum1 += arr[i][j];         else // count the elements at odd places            sum2 += arr[i][j];        cnt++;        }    }     document.write( "Sum of alternate elements : " + sum1        + ", " + sum2 );} // Driver codevar mat = [ [ 1, 2, 3 ],                [ 4, 5, 6 ],                [ 7, 8, 9 ] ];var n = 3;// find the sum of alternate elementssumAlternate(mat, n); </script>
Sum of alternate elements : 25, 20
 
Time Complexity: O(N2) 
ihritik
ukasp
Akanksha_Rai
itsok
Traversal
Arrays
Matrix
Arrays
Matrix
Traversal
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Introduction to Data Structures
Search, insert and delete in an unsorted array
Window Sliding Technique
Find duplicates in O(n) time and O(1) extra space | Set 1
Chocolate Distribution Problem
Matrix Chain Multiplication | DP-8
Rat in a Maze | Backtracking-2
Sudoku | Backtracking-7
The Celebrity Problem
Find the number of islands | Set 1 (Using DFS)