Tuesday, November 26, 2024
Google search engine
HomeData Modelling & AISum of alternate elements of a N x N matrix

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




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

Feeling lost in the world of random DSA topics, wasting time without progress? It’s time for a change! Join our DSA course, where we’ll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!

RELATED ARTICLES

Most Popular

Recent Comments