下面的程序减去两个大小为4*4的方阵,我们可以根据不同的维数改变N。
null
C++
// C++ program for subtraction of matrices #include <bits/stdc++.h> using namespace std; #define N 4 // This function subtracts B[][] from A[][], and stores // the result in C[][] void subtract( int A[][N], int B[][N], int C[][N]) { int i, j; for (i = 0; i < N; i++) for (j = 0; j < N; j++) C[i][j] = A[i][j] - B[i][j]; } // Driver code int main() { int A[N][N] = { {1, 1, 1, 1}, {2, 2, 2, 2}, {3, 3, 3, 3}, {4, 4, 4, 4}}; int B[N][N] = { {1, 1, 1, 1}, {2, 2, 2, 2}, {3, 3, 3, 3}, {4, 4, 4, 4}}; int C[N][N]; // To store result int i, j; subtract(A, B, C); cout << "Result matrix is " << endl; for (i = 0; i < N; i++) { for (j = 0; j < N; j++) cout << C[i][j] << " " ; cout << endl; } return 0; } // This code is contributed by rathbhupendra |
C
#include <stdio.h> #define N 4 // This function subtracts B[][] from A[][], and stores // the result in C[][] void subtract( int A[][N], int B[][N], int C[][N]) { int i, j; for (i = 0; i < N; i++) for (j = 0; j < N; j++) C[i][j] = A[i][j] - B[i][j]; } int main() { int A[N][N] = { {1, 1, 1, 1}, {2, 2, 2, 2}, {3, 3, 3, 3}, {4, 4, 4, 4}}; int B[N][N] = { {1, 1, 1, 1}, {2, 2, 2, 2}, {3, 3, 3, 3}, {4, 4, 4, 4}}; int C[N][N]; // To store result int i, j; subtract(A, B, C); printf ( "Result matrix is " ); for (i = 0; i < N; i++) { for (j = 0; j < N; j++) printf ( "%d " , C[i][j]); printf ( "" ); } return 0; } |
JAVA
// Java program for subtraction of matrices class GFG { static final int N= 4 ; // This function subtracts B[][] // from A[][], and stores // the result in C[][] static void subtract( int A[][], int B[][], int C[][]) { int i, j; for (i = 0 ; i < N; i++) for (j = 0 ; j < N; j++) C[i][j] = A[i][j] - B[i][j]; } // Driver code public static void main (String[] args) { int A[][] = { { 1 , 1 , 1 , 1 }, { 2 , 2 , 2 , 2 }, { 3 , 3 , 3 , 3 }, { 4 , 4 , 4 , 4 }}; int B[][] = { { 1 , 1 , 1 , 1 }, { 2 , 2 , 2 , 2 }, { 3 , 3 , 3 , 3 }, { 4 , 4 , 4 , 4 }}; // To store result int C[][]= new int [N][N]; int i, j; subtract(A, B, C); System.out.print( "Result matrix is " ); for (i = 0 ; i < N; i++) { for (j = 0 ; j < N; j++) System.out.print(C[i][j] + " " ); System.out.print( "" ); } } } // This code is contributed by Anant Agarwal. |
Python3
# Python 3 program for subtraction # of matrices N = 4 # This function returns 1 # if A[][] and B[][] are identical # otherwise returns 0 def subtract(A, B, C): for i in range (N): for j in range (N): C[i][j] = A[i][j] - B[i][j] # Driver Code A = [ [ 1 , 1 , 1 , 1 ], [ 2 , 2 , 2 , 2 ], [ 3 , 3 , 3 , 3 ], [ 4 , 4 , 4 , 4 ]] B = [ [ 1 , 1 , 1 , 1 ], [ 2 , 2 , 2 , 2 ], [ 3 , 3 , 3 , 3 ], [ 4 , 4 , 4 , 4 ]] C = A[:][:] # To store result subtract(A, B, C) print ( "Result matrix is" ) for i in range (N): for j in range (N): print (C[i][j], " " , end = '') print () # This code is contributed # by Anant Agarwal. |
C#
// C# program for subtraction of matrices using System; class GFG { static int N = 4; // This function subtracts B[][] // from A[][], and stores // the result in C[][] public static void subtract( int [][] A, int [][] B, int [, ] C) { int i, j; for (i = 0; i < N; i++) { for (j = 0; j < N; j++) { C[i, j] = A[i][j] - B[i][j]; } } } // Driver code public static void Main( string [] args) { int [][] A = new int [][] { new int [] {1, 1, 1, 1}, new int [] {2, 2, 2, 2}, new int [] {3, 3, 3, 3}, new int [] {4, 4, 4, 4} }; int [][] B = new int [][] { new int [] {1, 1, 1, 1}, new int [] {2, 2, 2, 2}, new int [] {3, 3, 3, 3}, new int [] {4, 4, 4, 4} }; // To store result int [, ] C = new int [N, N]; int i, j; subtract(A, B, C); Console.Write( "Result matrix is " ); for (i = 0; i < N; i++) { for (j = 0; j < N; j++) { Console.Write(C[i, j] + " " ); } Console.Write( "" ); } } } // This code is contributed by Shrikant13 |
PHP
<?php // This function subtracts B[][] // from A[][], and stores the // result in C[][] function subtract(& $A , & $B , & $C ) { $N = 4; for ( $i = 0; $i < $N ; $i ++) for ( $j = 0; $j < $N ; $j ++) $C [ $i ][ $j ] = $A [ $i ][ $j ] - $B [ $i ][ $j ]; } // Driver code $N = 4; $A = array ( array (1, 1, 1, 1), array (2, 2, 2, 2), array (3, 3, 3, 3), array (4, 4, 4, 4)); $B = array ( array (1, 1, 1, 1), array (2, 2, 2, 2), array (3, 3, 3, 3), array (4, 4, 4, 4)); subtract( $A , $B , $C ); echo "Result matrix is " ; for ( $i = 0; $i < $N ; $i ++) { for ( $j = 0; $j < $N ; $j ++) { echo $C [ $i ][ $j ]; echo " " ; } echo "" ; } // This code is contributed // by Shivi_Aggarwal ?> |
Javascript
<script> // Javascript program for subtraction of matrices var N = 4; // This function subtracts B[][] from A[][], and stores // the result in C[][] function subtract(A, B, C) { var i, j; for (i = 0; i < N; i++) for (j = 0; j < N; j++) C[i][j] = A[i][j] - B[i][j]; } // Driver code var A = [ [1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3], [4, 4, 4, 4]]; var B = [ [1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3], [4, 4, 4, 4]]; var C = Array.from(Array(N), () => Array(N)); // To store result var i, j; subtract(A, B, C); document.write( "Result matrix is " + "<br>" ); for (i = 0; i < N; i++) { for (j = 0; j < N; j++) document.write( C[i][j] + " " ); document.write( "<br>" ); } // This code is contributed by itsok. </script> |
输出:
Result matrix is0 0 0 00 0 0 00 0 0 00 0 0 0
注—— 第一个矩阵第0行和第0列的数字与第二个矩阵第0行和第0列的数字相减。它的减法结果被初始化为结果矩阵的第0行和第0列的值。对所有元素应用相同的减法过程
该程序可以扩展到矩形矩阵。下面的帖子对扩展这个程序很有用。 如何在C中将2D数组作为参数传递? 上述程序的时间复杂度为O(n 2. ).
上述程序的辅助空间为O(n 2. ). 如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END