Boundary elements of a Matrix

Printing Boundary Elements of a Matrix.

Examples:

Input : 1 2 3 4  
        5 6 7 8
        1 2 3 4
        5 6 7 8
Output : 1 2 3 4 
         5     8 
         1     4 
         5 6 7 8



The idea is really simple. We traverse given matrix. For every element being traversed, we print it if it is a corner element. If it is not a corner element, then we print space character.

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ program to print boundary element of
// matrix.
#include <bits/stdc++.h>
using namespace std;
  
const int MAX = 100;
  
void printBoundary(int a[][MAX], int m, int n)
{
    for (int i = 0; i < m; i++) {
        for (int j = 0; j < n; j++) {
            if (i == 0 || j == 0 || i == n - 1 || j == n - 1)
                cout << a[i][j] << " ";
            else
                cout << " "
                     << " ";
        }
        cout << "\n";
    }
}
  
// Driver code
int main()
{
    int a[4][MAX] = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 1, 2, 3, 4 }, { 5, 6, 7, 8 } };
    printBoundary(a, 4, 4);
    return 0;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// JAVA Code for Boundary elements of a Matrix
class GFG {
  
    public static void printBoundary(int a[][], int m,
                                     int n)
    {
        for (int i = 0; i < m; i++) {
            for (int j = 0; j < n; j++) {
                if (i == 0)
                    System.out.print(a[i][j] + " ");
                else if (i == m - 1)
                    System.out.print(a[i][j] + " ");
                else if (j == 0)
                    System.out.print(a[i][j] + " ");
                else if (j == n - 1)
                    System.out.print(a[i][j] + " ");
                else
                    System.out.print("  ");
            }
            System.out.println("");
        }
    }
  
    /* Driver program to test above function */
    public static void main(String[] args)
    {
        int a[][] = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 1, 2, 3, 4 }, { 5, 6, 7, 8 } };
  
        printBoundary(a, 4, 4);
    }
}
// This code is contributed by Arnav Kr. Mandal.

chevron_right


Python

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python program to print boundary element
# of matrix.
  
MAX = 100
   
def printBoundary(a, m, n):
    for i in range(m):
        for j in range(n):
            if (i == 0):
                print a[i][j],
            elif (i == m-1):
                print a[i][j],
            elif (j == 0):
                print a[i][j],
            elif (j == n-1):
                print a[i][j],
            else:
                print " ",
        print
          
# Driver code
a = [ [ 1, 2, 3, 4 ], [ 5, 6, 7, 8 ], 
    [ 1, 2, 3, 4 ], [ 5, 6, 7, 8 ] ]
printBoundary(a, 4, 4)
  
# This code is contributed by Sachin Bisht

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# Code for Boundary
// elements of a Matrix
using System;
  
class GFG {
  
    public static void printBoundary(int[, ] a,
                                     int m,
                                     int n)
    {
        for (int i = 0; i < m; i++) {
            for (int j = 0; j < n; j++) {
                if (i == 0)
                    Console.Write(a[i, j] + " ");
                else if (i == m - 1)
                    Console.Write(a[i, j] + " ");
                else if (j == 0)
                    Console.Write(a[i, j] + " ");
                else if (j == n - 1)
                    Console.Write(a[i, j] + " ");
                else
                    Console.Write("  ");
            }
            Console.WriteLine(" ");
        }
    }
  
    // Driver Code
    static public void Main()
    {
        int[, ] a = { { 1, 2, 3, 4 },
                      { 5, 6, 7, 8 },
                      { 1, 2, 3, 4 },
                      { 5, 6, 7, 8 } };
  
        printBoundary(a, 4, 4);
    }
}
  
// This code is contributed by ajit

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
// PHP program to print 
// boundary element of 
// matrix.
$MAX = 100;
  
function printBoundary($a, $m, $n)
{
    global $MAX;
    for ($i = 0; $i < $m; $i++) 
    {
        for ($j = 0; $j < $n; $j++) 
        {
            if ($i == 0)
                echo $a[$i][$j], " ";
            else if ($i == $m - 1)
                echo $a[$i][$j], " ";
            else if ($j == 0)
                echo $a[$i][$j], " ";
            else if ($j == $n - 1)
                echo $a[$i][$j], " ";
            else
                echo " ", " ";
        }
        echo "\n";
    }
}
  
// Driver code
$a = array(array( 1, 2, 3, 4 ), 
           array( 5, 6, 7, 8 ), 
           array( 1, 2, 3, 4 ), 
           array( 5, 6, 7, 8 ));
printBoundary($a, 4, 4);
      
// This code is contributed 
// by akt_mit
?>

chevron_right



Output:

1 2 3 4 
5     8 
1     4 
5 6 7 8

 

Finding sum of boundary elements

Examples:

Input : 1 2 3 4  
        5 6 7 8
        1 2 3 4
        5 6 7 8
Output : 54

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ program to find sum of boundary elements
// of matrix.
#include <bits/stdc++.h>
using namespace std;
  
const int MAX = 100;
  
int getBoundarySum(int a[][MAX], int m, int n)
{
    long long int sum = 0;
    for (int i = 0; i < m; i++) {
        for (int j = 0; j < n; j++) {
            if (i == 0)
                sum += a[i][j];
            else if (i == m - 1)
                sum += a[i][j];
            else if (j == 0)
                sum += a[i][j];
            else if (j == n - 1)
                sum += a[i][j];
        }
    }
    return sum;
}
  
// Driver code
int main()
{
    int a[][MAX] = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 1, 2, 3, 4 }, { 5, 6, 7, 8 } };
    long long int sum = getBoundarySum(a, 4, 4);
    cout << "Sum of boundary elements is " << sum;
    return 0;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// JAVA Code for Finding sum of boundary elements
class GFG {
  
    public static long getBoundarySum(int a[][], int m,
                                      int n)
    {
        long sum = 0;
        for (int i = 0; i < m; i++) {
            for (int j = 0; j < n; j++) {
                if (i == 0)
                    sum += a[i][j];
                else if (i == m - 1)
                    sum += a[i][j];
                else if (j == 0)
                    sum += a[i][j];
                else if (j == n - 1)
                    sum += a[i][j];
            }
        }
        return sum;
    }
  
    /* Driver program to test above function */
    public static void main(String[] args)
    {
        int a[][] = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 1, 2, 3, 4 }, { 5, 6, 7, 8 } };
        long sum = getBoundarySum(a, 4, 4);
        System.out.println("Sum of boundary elements"
                           + " is " + sum);
    }
}
// This code is contributed by Arnav Kr. Mandal.

chevron_right


Python

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python program to print boundary element 
# of matrix.
  
MAX = 100
   
def printBoundary(a, m, n):
    sum = 0
    for i in range(m):
        for j in range(n):
            if (i == 0):
                sum += a[i][j]
            elif (i == m-1):
                sum += a[i][j]
            elif (j == 0):
                sum += a[i][j]
            elif (j == n-1):
                sum += a[i][j]
    return sum
      
# Driver code
a = [ [ 1, 2, 3, 4 ], [ 5, 6, 7, 8 ],
    [ 1, 2, 3, 4 ], [ 5, 6, 7, 8 ] ]
sum = printBoundary(a, 4, 4)
print "Sum of boundary elements is", sum
  
# This code is contributed by Sachin Bisht

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# Code for Finding sum
// of boundary elements
using System;
  
class GFG {
    public static long getBoundarySum(int[, ] a,
                                      int m, int n)
    {
        long sum = 0;
        for (int i = 0; i < m; i++) {
            for (int j = 0; j < n; j++) {
                if (i == 0)
                    sum += a[i, j];
                else if (i == m - 1)
                    sum += a[i, j];
                else if (j == 0)
                    sum += a[i, j];
                else if (j == n - 1)
                    sum += a[i, j];
            }
        }
        return sum;
    }
  
    // Driver Code
    static public void Main()
    {
        int[, ] a = { { 1, 2, 3, 4 },
                      { 5, 6, 7, 8 },
                      { 1, 2, 3, 4 },
                      { 5, 6, 7, 8 } };
        long sum = getBoundarySum(a, 4, 4);
        Console.WriteLine("Sum of boundary"
                          + " elements is " + sum);
    }
}
  
// This code is contributed by ajit

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
// PHP program to find 
// sum of boundary 
// elements of matrix.
  
function getBoundarySum($a
                        $m, $n)
{
    $sum = 0;
    for ($i = 0; $i < $m; $i++)
    {
        for ( $j = 0; $j < $n; $j++)
        {
            if ($i == 0)
                $sum += $a[$i][$j];
            else if ($i == $m - 1)
                $sum += $a[$i][$j];
            else if ($j == 0)
                $sum += $a[$i][$j];
            else if ($j == $n - 1)
                $sum += $a[$i][$j];
        }
    }
    return $sum;
}
  
// Driver code
$a = array(array(1, 2, 3, 4), 
           array(5, 6, 7, 8), 
           array(1, 2, 3, 4), 
           array(5, 6, 7, 8));
             
$sum = getBoundarySum($a, 4, 4);
echo "Sum of boundary elements is ", $sum;
  
// This code is contributed by ajit
?>

chevron_right



Output:

Sum of boundary elements is 54

This article is contributed by Sarthak Kohli. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.



My Personal Notes arrow_drop_up

Improved By : jit_t



Article Tags :
Practice Tags :


1


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