Sum of alternate elements of a N x N matrix

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++

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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 matrix
void 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 code
int 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;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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

chevron_right


Python 3

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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 matrix
def 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 code
if __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

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program to print sum of alternate
// elements of a N x N matrix
using System;
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++;
        
    }
  
    Console.WriteLine("Sum of alternate elements : "
                                  sum1 + ", " + sum2);
}
  
// Driver code
public 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)

chevron_right


Output:

Sum of alternate elements : 25, 20

Time Complexity: O(N2)



My Personal Notes arrow_drop_up


Article Tags :
Practice Tags :


Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.