Matrix subtraction subtracts matching cells: C[i, j] = A[i, j] - B[i, j]. Both matrices must have the same number of rows and columns.
Remember
A − B is defined only when A and B have the same shape
[ 9 8 ] [ 1 5 ] [ 8 3 ]
[ 7 6 ] − [ 4 2 ] = [ 3 4 ]
Rule: (A − B)[i, j] = A[i, j] − B[i, j]
Negatives are allowed (e.g. 2 − 5 = −3).
Position
A
B
A − B
[0, 0]
9
1
8
[0, 1]
8
5
3
[1, 0]
7
4
3
[1, 1]
6
2
4
Approach
How to Subtract Matrices in C#
Four clear steps — same nested loops as addition, with minus.
Confirm both matrices have the same rows and columns.
Create a result matrix of that same size.
Outer loop walks rows; inner loop walks columns.
Set result[i, j] = A[i, j] - B[i, j] for every cell.
Method
Idea
Time
Best for
Nested loops
Subtract matching cells into a new int[,]
O(m × n)
Interviews, teaching
Shape-safe subtract
Validate GetLength first, then subtract
O(m × n)
Safer production-style code
Pseudocode
Pseudocode
function SubtractMatrices(A, B):
rows = rows of A
cols = cols of A
if rows != rows of B or cols != cols of B:
error "shapes must match"
C = new matrix[rows][cols]
for i from 0 to rows - 1:
for j from 0 to cols - 1:
C[i][j] = A[i][j] - B[i][j]
return C
Reference
Cheat Sheet
Keep these facts handy while writing the program.
Topic
Detail
Rule
C[i, j] = A[i, j] - B[i, j]
Requirement
Same rows and same columns
Rows / cols
GetLength(0) / GetLength(1)
Negatives
Allowed and expected when B > A
Vs multiply
Subtraction is entrywise only
Classic check
[[9,8],[7,6]] − [[1,5],[4,2]] = [[8,3],[3,4]]
Try it
Live Preview
Pick a sample pair to see matrices A, B, and A − B.
Tap a chip to run. Results may include negative numbers.
Result
A =
9 8
7 6
B =
1 5
4 2
A − B =
8 3
3 4
Trace
Worked Walkthrough — 2×2
Visit every index once and subtract the matching cells.