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> |
Sum of alternate elements : 25, 20
Time Complexity: O(N2)
Auxiliary Space: O(1)
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!