Remove any corner X rows and columns from a matrix

09 Feb, 2022
Given an NxN matrix and an integer X. The task is to remove X rows and X columns from the NxN matrix.
Remove the first X rows and columns from the matrix.
Examples: 
Input: n = 4, 
       arr[][] = {{20, 2, 10, 16},
                  {20, 17, 11, 6},
                  {14, 16, 1, 3},
                  {10, 2, 17, 4}}, 
       x = 2
Output:
1 3
17 4

Explanation:
Here the value of X is 2.
So remove the first 2 rows 
and the first 2 columns from the matrix. 
Hence the output is
1 3 
17 4
Simple Approach: 
Skip the first x rows and columns and print the remaining elements in the matrix.
Start from the xth row and print till the n-1th row.
Start from the xth column and print till the n-1th column.
Implementation: 
C++
Java
Python3
C#
PHP
Javascript
// C++ implementation of the above approach#include <iostream>using namespace std; // Function to remove first x// rows and columns from an arrayvoid remove_X_Rows_and_Columns(int* a, int n, int x){     cout << "\nRemoving First " << x         << " rows and columns:\n";     // Start from the xth row    // and print till n-1th row    for (int i = x; i < n; i++) {         // Start from the xth column        // and print till the n-1th column        for (int j = x; j < n; j++) {             // Accessing the array using pointers            cout << *((a + i * n) + j) << " ";        }        cout << endl;    }} // Print the matrixvoid printMatrix(int* a, int n){     for (int i = 0; i < n; i++) {        for (int j = 0; j < n; j++) {            cout << *((a + i * n) + j) << " ";        }        cout << endl;    }} int main(){    int n = 4;     // get the array inputs    int a[n][n];    for (int i = 0; i < n; i++) {        for (int j = 0; j < n; j++) {            a[i][j] = (i * 10 + j);        }    }     // Print the matrix    cout << "Original Matrix:\n";    printMatrix((int*)a, n);     int x = 2;     // passing the two dimensional    // array using a single pointer    remove_X_Rows_and_Columns((int*)a, n, x);     return 0;}
// Java implementation of the above approachclass GFG{     // Function to remove first x// rows and columns from an arraystatic void remove_X_Rows_and_Columns(int a[][],                                      int n, int x){    System.out.print("\nRemoving First " + x +                     " rows and columns:\n");     // Start from the xth row    // and print till n-1th row    for(int i = x; i < n; i++)    {                 // Start from the xth column        // and print till the n-1th column        for(int j = x; j < n; j++)        {                         // Accessing the array using pointers            System.out.print(a[i][j] + " ");        }        System.out.println();    }} // Print the matrixstatic void printMatrix(int a[][], int n){    for(int i = 0; i < n; i++)    {        for(int j = 0; j < n; j++)        {            System.out.print(a[ i][j] + " ");        }        System.out.println();    }} // Driver Codepublic static void main(String [] args){    int n = 4;     // Get the array inputs    int a[][] = new int[n][n];    for(int i = 0; i < n; i++)    {        for(int j = 0; j < n; j++)        {            a[i][j] = (i * 10 + j);        }    }     // Print the matrix    System.out.println( "Original Matrix:");    printMatrix(a, n);     int x = 2;     // Passing the two dimensional    // array using a single pointer    remove_X_Rows_and_Columns(a, n, x);}} // This code is contributed by chitranayal
# Python3 implementation of the above approach  # Function to remove first x# rows and columns from an arraydef remove_X_Rows_and_Columns(a, n, x):     print("Removing First ", x,          " rows and columns:")     # Start from the xth row    # and print till n-1th row    for i in range(x, n):         # Start from the xth column        # and print till the n-1th column        for j in range(x, n):             # Accessing the array using pointers            print(a[i][j], end = " ")         print()     # Print the matrixdef printMatrix(a, n):     for i in range(n):        for j in range(n):            print(a[i][j], end = " ")         print()     # Driver Codeif __name__ == '__main__':     n = 4     # get the array inputs    a = [[0 for i in range(n)]            for i in range(n)]    for i in range(n):        for j in range(n):            a[i][j] = (i * 10 + j)             # Print the matrix    print("Original Matrix:")    printMatrix(a, n)     x = 2     # passing the two dimensional    # array using a single pointer    remove_X_Rows_and_Columns(a, n, x) # This code is contributed by# Mohit kumar 29
// C# implementation of the above approachusing System; class GFG{     // Function to remove first x// rows and columns from an arraystatic void remove_X_Rows_and_Columns(int[,] a,                                       int n, int x){    Console.WriteLine("\nRemoving First " + x +                      " rows and columns:\n");         // Start from the xth row    // and print till n-1th row    for(int i = x; i < n; i++)    {                 // Start from the xth column        // and print till the n-1th column        for(int j = x; j < n; j++)        {                         // Accessing the array using pointers            Console.Write(a[i, j] + " ");                     }        Console.WriteLine();    }} // Print the matrixstatic void printMatrix(int[,] a, int n){    for(int i = 0; i < n; i++)    {        for(int j = 0; j < n; j++)        {            Console.Write(a[i, j] + " ");        }        Console.WriteLine();    }} // Driver Codestatic public void Main(){    int n = 4;         // Get the array inputs    int[,] a = new int[n, n];         for(int i = 0; i < n; i++)    {        for(int j = 0; j < n; j++)        {            a[i,j] = (i * 10 + j);        }    }         // Print the matrix    Console.WriteLine( "Original Matrix:");    printMatrix(a, n);    int x = 2;         // Passing the two dimensional    // array using a single pointer    remove_X_Rows_and_Columns(a, n, x);}} // This code is contributed by avanitrachhadiya2155
<?php// PHP implementation of the above approach // Function to remove first x// rows and columns from an arrayfunction remove_X_Rows_and_Columns($a, $n, $x){    echo "\nRemoving First ", $x,         " rows and columns:\n";     // Start from the xth row    // and print till n-1th row    for ($i = $x; $i < $n; $i++)    {         // Start from the xth column        // and print till the n-1th column        for ($j = $x; $j < $n; $j++)        {             // Accessing the array using pointers            echo $a[$i][$j], " ";        }        echo "\n";    }} // Print the matrixfunction printMatrix($a, $n){     for ($i = 0; $i < $n; $i++)    {        for ($j = 0; $j < $n; $j++)        {            echo $a[$i][$j], " ";        }        echo "\n";    }} $n = 4; // get the array inputs$a = array(array()); for ($i = 0; $i < $n; $i++){    for ($j = 0; $j < $n; $j++)    {        $a[$i][$j] = $i * 10 + $j;    }} // Print the matrixecho "Original Matrix:\n";printMatrix($a, $n); $x = 2; // passing the two dimensional// array using a single pointerremove_X_Rows_and_Columns($a, $n, $x); // This code is contributed by Ryuga?>
<script>    // javascript implementation of the above approach       // Function to remove first x    // rows and columns from an array    function remove_X_Rows_and_Columns(a , n , x) {        document.write("<br/>Removing First " + x + " rows and columns:<br/>");         // Start from the xth row        // and print till n-1th row        for (i = x; i < n; i++) {             // Start from the xth column            // and print till the n-1th column            for (j = x; j < n; j++) {                 // Accessing the array using pointers                document.write(a[i][j] + " ");            }            document.write("<br/>");        }    }     // Print the matrix    function printMatrix(a , n) {        for (i = 0; i < n; i++) {            for (j = 0; j < n; j++) {                document.write(a[i][j] + " ");            }            document.write("<br/>");        }    }     // Driver Code             var n = 4;         // Get the array inputs        var a = Array(n);        for (i = 0; i < n; i++) {        a[i] = Array(n).fill(0);            for (j = 0; j < n; j++) {                a[i][j] = (i * 10 + j);            }        }         // Print the matrix        document.write("Original Matrix:");        printMatrix(a, n);         var x = 2;         // Passing the two dimensional        // array using a single pointer        remove_X_Rows_and_Columns(a, n, x); // This code contributed by gauravrajput1</script>
Original Matrix:
0 1 2 3 
10 11 12 13 
20 21 22 23 
30 31 32 33 

Removing First 2 rows and columns:
22 23 
32 33
 
Remove the last X rows and columns from the matrix.
Examples: 
Input: n = 4, 
       arr[][] = {{20, 2, 10, 16},
                  {20, 17, 11, 6},
                  {14, 16, 1, 3},
                  {10, 2, 17, 4}}, 
       x = 2
Output:
20 2
20 17

Explanation:
Here the value of X is 2.
So remove the last 2 rows and 
the last 2 columns from the matrix. 
Hence the output is
20 2
20 17
Simple Approach 
Skip the last x rows and columns and print the remaining elements in the matrix.
Start from the 0th row and print till the n-xth row.
Start from the 0th column and print till the n-xth column.
Implementation: 
C++
Java
Python3
C#
Javascript
#include <iostream>using namespace std; // Function to remove last x rows// and columns from an arrayvoid remove_X_Rows_and_Columns(int* a, int n, int x){     cout << "\nRemoving Last " << x         << " rows and columns:\n";     // Start from the 0th row    // and print till n-xth row    for (int i = 0; i < n - x; i++) {         // Start from the 0th column        // and print till the n-xth column        for (int j = 0; j < n - x; j++) {             // Accessing the array using pointers            cout << *((a + i * n) + j) << " ";        }        cout << endl;    }} // Print the matrixvoid printMatrix(int* a, int n){     for (int i = 0; i < n; i++) {        for (int j = 0; j < n; j++) {            cout << *((a + i * n) + j) << " ";        }        cout << endl;    }} int main(){    int n = 4;     // get the array inputs    int a[n][n];    for (int i = 0; i < n; i++) {        for (int j = 0; j < n; j++) {            a[i][j] = (i * 10 + j);        }    }     // Print the matrix    cout << "Original Matrix:\n";    printMatrix((int*)a, n);     int x = 2;     // passing the two dimensional    // array using a single pointer    remove_X_Rows_and_Columns((int*)a, n, x);     return 0;}
import java.io.*; class GFG{     public static void remove_X_Rows_and_Columns(    int[][] a,int n, int x){    System.out.println("\nRemoving Last " + x +                       " rows and columns:\n");      // Start from the 0th row    // and print till n-xth row    for(int i = 0; i < n - x; i++)    {                 // Start from the 0th column        // and print till the n-xth column        for(int j = 0; j < n - x; j++)        {                         // Accessing the array using pointers            System.out.print(a[i][j] + " ");        }        System.out.println();    }       } // Print the matrixpublic static void printMatrix(int[][] a, int n){    for(int i = 0; i < n; i++)    {        for(int j = 0; j < n; j++)        {            System.out.print(a[i][j] + " ");        }        System.out.println();    }       } // Driver codepublic static void main(String[] args){    int n = 4;         // Get the array inputs    int[][] a = new int[n][n];    for(int i = 0; i < n; i++)    {        for(int j = 0; j < n; j++)        {            a[i][j] = (i * 10 + j);        }    }         // Print the matrix    System.out.println("Original Matrix:");         printMatrix(a, n);     int x = 2;       // Passing the two dimensional    // array using a single pointer    remove_X_Rows_and_Columns(a, n, x);}} // This code is contributed by patel2127
# Function to remove last x rows# and columns from an arraydef remove_X_Rows_and_Columns(a, n, x):    print("\nRemoving Last", x, "rows and columns:")         # Start from the 0th row    # and print till n-xth row    for i in range(n - x):               # Start from the 0th column        # and print till the n-xth column        for j in range(n - x):                       # Accessing the array using pointers            print(a[i][j], end = " ")        print() # Print the matrixdef printMatrix(a, n):    for i in range(n):        for j in range(n):            print(a[i][j], end = " ")        print() n = 4 # get the array inputsa = [[0 for i in range(n)] for j in range(n)]for i in range(n):    for j in range(n):        a[i][j] = (i * 10 + j) # Print the matrixprint("Original Matrix:")printMatrix(a, n)x = 2 # passing the two dimensional# array using a single pointerremove_X_Rows_and_Columns(a, n, x) # This code is contributed by rag2127
using System; public class GFG{         public static void remove_X_Rows_and_Columns(    int[,] a,int n, int x){    Console.WriteLine("\nRemoving Last " + x +                       " rows and columns:\n");       // Start from the 0th row    // and print till n-xth row    for(int i = 0; i < n - x; i++)    {                  // Start from the 0th column        // and print till the n-xth column        for(int j = 0; j < n - x; j++)        {                          // Accessing the array using pointers            Console.Write(a[i,j] + " ");        }        Console.WriteLine();    }      }  // Print the matrixpublic static void printMatrix(int[,] a, int n){    for(int i = 0; i < n; i++)    {        for(int j = 0; j < n; j++)        {            Console.Write(a[i,j] + " ");        }        Console.WriteLine();    }      }  // Driver code         static public void Main (){                 int n = 4;          // Get the array inputs    int[,] a = new int[n,n];    for(int i = 0; i < n; i++)    {        for(int j = 0; j < n; j++)        {            a[i,j] = (i * 10 + j);        }    }          // Print the matrix    Console.WriteLine("Original Matrix:");          printMatrix(a, n);      int x = 2;        // Passing the two dimensional    // array using a single pointer    remove_X_Rows_and_Columns(a, n, x);             }} // This code is contributed by ab2127.
<script> // Function to remove last x rows// and columns from an arrayfunction remove_X_Rows_and_Columns(a, n, x){    document.write("<br>Removing Last"+ x+ "rows and columns:<br>");         // Start from the 0th row    // and print till n-xth row    for (let i = 0; i < n - x; i++) {          // Start from the 0th column        // and print till the n-xth column        for (let j = 0; j < n - x; j++) {              // Accessing the array using pointers            document.write(a[i][j]+" ");        }        document.write("<br>")    }} // Print the matrixfunction printMatrix(a,n){    for (let i = 0; i < n; i++) {        for (let j = 0; j < n; j++) {            document.write(a[i][j]+" ");        }        document.write("<br>")    }} let n = 4;      // get the array inputs    let a = new Array(n);    for (let i = 0; i < n; i++) {        a[i]=new Array(n);        for (let j = 0; j < n; j++) {            a[i][j] = (i * 10 + j);        }    }      // Print the matrix    document.write("Original Matrix:<br>");    printMatrix(a, n);      let x = 2;      // passing the two dimensional    // array using a single pointer    remove_X_Rows_and_Columns(a, n, x);   // This code is contributed by unknown2108</script>
Original Matrix:
0 1 2 3 
10 11 12 13 
20 21 22 23 
30 31 32 33 

Removing Last 2 rows and columns:
0 1 
10 11
 
Remove the first X rows and last X columns from the matrix.
Examples: 
Input: n = 4, 
       arr[][] = {{20, 2, 10, 16},
                  {20, 17, 11, 6},
                  {14, 16, 1, 3},
                  {10, 2, 17, 4}}, 
       x = 2
Output:
14 16
10 2

Explanation:
Here the value of X is 2.
So remove the first 2 rows 
and the last 2 columns from the matrix. 
Hence the output is
14 16
10 2
Simple Approach  
Skip the first x rows and last x columns and print the remaining elements in the matrix.
Start from the xth row and print till the n-1th row.
Start from the 0th column and print till the n-xth column.
Implementation: 
C++
Java
Python3
C#
Javascript
#include <iostream>using namespace std; // Function to remove first x rows// and last x columns from an arrayvoid remove_X_Rows_and_Columns(int* a, int n, int x){     cout << "\nRemoving First " << x         << " rows and Last " << x         << " columns:\n";     // Start from the xth row    // and print till n-1th row    for (int i = x; i < n; i++) {         // Start from the 0th column        // and print till the n-xth column        for (int j = 0; j < n - x; j++) {             // Accessing the array using pointers            cout << *((a + i * n) + j) << " ";        }        cout << endl;    }} // Print the matrixvoid printMatrix(int* a, int n){     for (int i = 0; i < n; i++) {        for (int j = 0; j < n; j++) {            cout << *((a + i * n) + j) << " ";        }        cout << endl;    }} int main(){    int n = 4;     // get the array inputs    int a[n][n];    for (int i = 0; i < n; i++) {        for (int j = 0; j < n; j++) {            a[i][j] = (i * 10 + j);        }    }     // Print the matrix    cout << "Original Matrix:\n";    printMatrix((int*)a, n);     int x = 2;     // passing the two dimensional    // array using a single pointer    remove_X_Rows_and_Columns((int*)a, n, x);     return 0;}
import java.util.*; class GFG{ // Function to remove first x rows// and last x columns from an arraystatic void remove_X_Rows_and_Columns(int[][] a, int n,                                      int x){         System.out.print("\nRemoving First " + x +                     " rows and Last " + x +                     " columns:\n");     // Start from the xth row    // and print till n-1th row    for(int i = x; i < n; i++)    {                 // Start from the 0th column        // and print till the n-xth column        for(int j = 0; j < n - x; j++)        {                         // Accessing the array using pointers            System.out.print(a[i][j]+ " ");        }        System.out.println();    }} // Print the matrixstatic void printMatrix(int[][] a, int n){    for(int i = 0; i < n; i++)    {        for(int j = 0; j < n; j++)        {            System.out.print(a[i][j] + " ");        }        System.out.println();    }} // Driver codepublic static void main(String[] args){    int n = 4;     // Get the array inputs    int [][]a = new int[n][n];    for(int i = 0; i < n; i++)    {        for(int j = 0; j < n; j++)        {            a[i][j] = (i * 10 + j);        }    }     // Print the matrix    System.out.print("Original Matrix:\n");    printMatrix(a, n);     int x = 2;     // Passing the two dimensional    // array using a single pointer    remove_X_Rows_and_Columns(a, n, x);}} // This code is contributed by 29AjayKumar
# Function to remove first x rows# and last x columns from an arraydef remove_X_Rows_and_Columns(a, n, x):    print("\nRemoving First " , x , " rows and Last " , x , " columns:");     # Start from the xth row    # and print till n-1th row    for i in range(x, n):         # Start from the 0th column        # and print till the n-xth column        for j in range(n - x):                       # Accessing the array using pointers            print(a[i][j], end = " ");         print(); # Print the matrixdef printMatrix(a, n):    for i in range(n):        for j in range(n):            print(a[i][j], end=" ");         print(); # Driver codeif __name__ == '__main__':    n = 4;     # Get the array inputs    a = [[0 for i in range(n)] for j in range(n)]    for i in range(n):        for j in range(n):            a[i][j] = (i * 10 + j);     # Print the matrix    print("Original Matrix:");    printMatrix(a, n);     x = 2;     # Passing the two dimensional    # array using a single pointer    remove_X_Rows_and_Columns(a, n, x); # This code is contributed by shikhasingrajput
using System; public class GFG{ // Function to remove first x rows// and last x columns from an arraystatic void remove_X_Rows_and_Columns(int[,] a, int n,                                      int x){         Console.Write("\nRemoving First " + x +                     " rows and Last " + x +                     " columns:\n");     // Start from the xth row    // and print till n-1th row    for(int i = x; i < n; i++)    {                 // Start from the 0th column        // and print till the n-xth column        for(int j = 0; j < n - x; j++)        {                         // Accessing the array using pointers            Console.Write(a[i,j]+ " ");        }        Console.WriteLine();    }} // Print the matrixstatic void printMatrix(int[,] a, int n){    for(int i = 0; i < n; i++)    {        for(int j = 0; j < n; j++)        {            Console.Write(a[i,j] + " ");        }        Console.WriteLine();    }} // Driver codepublic static void Main(String[] args){    int n = 4;     // Get the array inputs    int [,]a = new int[n,n];    for(int i = 0; i < n; i++)    {        for(int j = 0; j < n; j++)        {            a[i,j] = (i * 10 + j);        }    }     // Print the matrix    Console.Write("Original Matrix:\n");    printMatrix(a, n);     int x = 2;     // Passing the two dimensional    // array using a single pointer    remove_X_Rows_and_Columns(a, n, x);}} // This code is contributed by 29AjayKumar
<script>// Function to remove first x rows// and last x columns from an arrayfunction remove_X_Rows_and_Columns(a , n,x){    document.write("<br>Removing First " + x +                     " rows and Last " + x +                     " columns:<br>");     // Start from the xth row    // and print till n-1th row    for(var i = x; i < n; i++)    {                 // Start from the 0th column        // and print till the n-xth column        for(var j = 0; j < n - x; j++)        {                         // Accessing the array using pointers            document.write(a[i][j]+ " ");        }        document.write('<br>');    }} // Print the matrixfunction printMatrix(a , n){    for(var i = 0; i < n; i++)    {        for(var j = 0; j < n; j++)        {            document.write(a[i][j] + " ");        }        document.write('<br>');    }} // Driver code    var n = 4;     // Get the array inputs    var a = Array(n).fill(0).map(x => Array(n).fill(0));    for(var i = 0; i < n; i++)    {        for(var j = 0; j < n; j++)        {            a[i][j] = (i * 10 + j);        }    }     // Print the matrix    document.write("Original Matrix:<br>");    printMatrix(a, n);    var x = 2;     // Passing the two dimensional    // array using a single pointer    remove_X_Rows_and_Columns(a, n, x); // This code is contributed by 29AjayKumar</script>
Original Matrix:
0 1 2 3 
10 11 12 13 
20 21 22 23 
30 31 32 33 

Removing First 2 rows and Last 2 columns:
20 21 
30 31
 
Remove the last X rows and first x columns from the matrix.
Examples: 
Input: n = 4, 
       arr[][] = {{20, 2, 10, 16},
                  {20, 17, 11, 6},
                  {14, 16, 1, 3},
                  {10, 2, 17, 4}}, 
       x = 2
Output:
10 16
11 6

Explanation:
Here the value of X is 2.
So remove the last 2 rows and
the first 2 columns from the matrix. 
Hence the output is
10 16
11 6
Simple Approach 
Skip the last x rows and first x columns and print the remaining elements in the matrix.
Start from the 0th row and print till the n-xth row.
Start from the xth column and print till the n-1th column.
Implementation: 
C++
Java
Python3
C#
Javascript
#include <iostream>using namespace std; // Function to remove last x rows// and first x columns from an arrayvoid remove_X_Rows_and_Columns(int* a, int n, int x){     cout << "\nRemoving Last " << x         << " rows and First " << x         << " columns:\n";     // Start from the 0th row    // and print till n-xth row    for (int i = 0; i < n - x; i++) {         // Start from the xth column and        // print till the n-1th column        for (int j = x; j < n; j++) {             // Accessing the array using pointers            cout << *((a + i * n) + j) << " ";        }        cout << endl;    }} // Print the matrixvoid printMatrix(int* a, int n){     for (int i = 0; i < n; i++) {        for (int j = 0; j < n; j++) {            cout << *((a + i * n) + j) << " ";        }        cout << endl;    }} int main(){    int n = 4;     // get the array inputs    int a[n][n];    for (int i = 0; i < n; i++) {        for (int j = 0; j < n; j++) {            a[i][j] = (i * 10 + j);        }    }     // Print the matrix    cout << "Original Matrix:\n";    printMatrix((int*)a, n);     int x = 2;     // passing the two dimensional    // array using a single pointer    remove_X_Rows_and_Columns((int*)a, n, x);     return 0;}
import java.util.*; class GFG{   // Function to remove last x rows  // and first x columns from an array  static void remove_X_Rows_and_Columns(int[][] a, int n, int x)  {     System.out.print("\nRemoving Last " +  x                     + " rows and First " +  x                     + " columns:\n");     // Start from the 0th row    // and print till n-xth row    for (int i = 0; i < n - x; i++) {       // Start from the xth column and      // print till the n-1th column      for (int j = x; j < n; j++) {         // Accessing the array using pointers        System.out.print(a[i][j]+ " ");      }      System.out.println();    }  }   // Print the matrix  static void printMatrix(int[][] a, int n)  {     for (int i = 0; i < n; i++) {      for (int j = 0; j < n; j++) {        System.out.print(a[i][j]+ " ");      }      System.out.println();    }  }   public static void main(String[] args)  {    int n = 4;     // get the array inputs    int [][]a= new int[n][n];    for (int i = 0; i < n; i++) {      for (int j = 0; j < n; j++) {        a[i][j] = (i * 10 + j);      }    }     // Print the matrix    System.out.print("Original Matrix:\n");    printMatrix(a, n);     int x = 2;     // passing the two dimensional    // array using a single pointer    remove_X_Rows_and_Columns(a, n, x);   }} // This code is contributed by 29AjayKumar
# Function to remove last x rows# and first x columns from an arraydef remove_X_Rows_and_Columns(a, n, x):     print("\nRemoving Last ", x ,          " rows and First ", x,          " columns:")     # Start from the 0th row    # and print till n-xth row    for i in range(n - x):         # Start from the xth column and        # print till the n-1th column        for j in range(x, n):             # Accessing the array using pointers            print(a[i][j], end = " ")                     print() # Print the matrixdef printMatrix(a, n):     for i in range(n):        for j in range(n):            print(a[i][j], end = " ")                     print() # Driver codeif __name__ == '__main__':         n = 4     # Get the array inputs    a = [[0 for i in range(n)]            for i in range(n)]                 for i in range(n):        for j in range(n):            a[i][j] = (i * 10 + j)     # Print the matrix    print("Original Matrix:")    printMatrix(a, n)     x = 2     # Passing the two dimensional    # array using a single pointer    remove_X_Rows_and_Columns(a, n, x) # This code is contributed by mohit kumar 29
using System;using System.Collections.Generic; public class GFG{   // Function to remove last x rows  // and first x columns from an array  static void remove_X_Rows_and_Columns(int[,] a, int n, int x)  {     Console.Write("\nRemoving Last " +  x                  + " rows and First " +  x                  + " columns:\n");     // Start from the 0th row    // and print till n-xth row    for (int i = 0; i < n - x; i++) {       // Start from the xth column and      // print till the n-1th column      for (int j = x; j < n; j++) {         // Accessing the array using pointers        Console.Write(a[i,j]+ " ");      }      Console.WriteLine();    }  }   // Print the matrix  static void printMatrix(int[,] a, int n)  {     for (int i = 0; i < n; i++) {      for (int j = 0; j < n; j++) {        Console.Write(a[i,j]+ " ");      }      Console.WriteLine();    }  }   public static void Main(String[] args)  {    int n = 4;     // get the array inputs    int [,]a= new int[n,n];    for (int i = 0; i < n; i++) {      for (int j = 0; j < n; j++) {        a[i,j] = (i * 10 + j);      }    }     // Print the matrix    Console.Write("Original Matrix:\n");    printMatrix(a, n);     int x = 2;     // passing the two dimensional    // array using a single pointer    remove_X_Rows_and_Columns(a, n, x);  }} // This code is contributed by shikhasingrajput
<script>     // JavaScript implementation of above approach         // Function to remove last x rows    // and first x columns from an array    function remove_X_Rows_and_Columns(a, n, x)    {         document.write("</br>" + "Removing Last " + x             + " rows and First " + x             + " columns:" + "</br>");         // Start from the 0th row        // and print till n-xth row        for (let i = 0; i < n - x; i++) {             // Start from the xth column and            // print till the n-1th column            for (let j = x; j < n; j++) {                 // Accessing the array using pointers                document.write(a[i][j] + " ");            }            document.write("</br>");        }    }     // Print the matrix    function printMatrix(a, n)    {         for (let i = 0; i < n; i++) {            for (let j = 0; j < n; j++) {                document.write(a[i][j] + " ");            }            document.write("</br>");        }    }         let n = 4;      // get the array inputs    let a = new Array(n);    for (let i = 0; i < n; i++) {        a[i] = new Array(n);        for (let j = 0; j < n; j++) {            a[i][j] = (i * 10 + j);        }    }      // Print the matrix    document.write("Original Matrix:" + "</br>");    printMatrix(a, n);      let x = 2;      // passing the two dimensional    // array using a single pointer    remove_X_Rows_and_Columns(a, n, x); </script>
Original Matrix:
0 1 2 3 
10 11 12 13 
20 21 22 23 
30 31 32 33 

Removing Last 2 rows and First 2 columns:
2 3 
12 13
 
ankthon
mohit kumar 29
ukasp
avanitrachhadiya2155
rag2127
GauravRajput1
unknown2108
patel2127
vaibhavrabadiya117
ab2127
sweetyty
29AjayKumar
surinderdawra388
simranarora5sos
shikhasingrajput
sagartomar9927
simmytarika5
C++ Programs
Matrix
Matrix
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Shallow Copy and Deep Copy in C++
C++ Program to check if a given String is Palindrome or not
C++ Program for QuickSort
How to find the minimum and maximum element of a Vector using STL in C++?
delete keyword in C++
Matrix Chain Multiplication | DP-8
Print a given matrix in spiral form
Program to find largest element in an array
Rat in a Maze | Backtracking-2
Sudoku | Backtracking-7