Open In App

Sum of alternate elements of a N x N matrix

Last Updated : 12 Oct, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

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




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


Java




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




# 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


C#




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


Javascript




<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 matrix
function 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 code
var mat = [ [ 1, 2, 3 ],
                [ 4, 5, 6 ],
                [ 7, 8, 9 ] ];
var n = 3;
// find the sum of alternate elements
sumAlternate(mat, n);
 
</script>


Output

Sum of alternate elements : 25, 20

Time Complexity: O(N2)
Auxiliary Space: O(1)



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads