Tutorialspoint.dev

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

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

Java

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

Python

# 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

C#

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

PHP

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


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

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

Java

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

Python

# 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

C#

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

PHP

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


Output:

Sum of boundary elements is 54

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



This article is attributed to GeeksforGeeks.org

leave a comment

code

1 Comments

load comments

Subscribe to Our Newsletter