Matrix operations in C language typically involve performing arithmetic or other manipulations on multidimensional arrays representing matrices.
Matrix Addition
#include <stdio.h>
#define ROWS 3
#define COLS 3
// Function to add two matrices
void addMatrices(int mat1[][COLS], int mat2[][COLS], int result[][COLS]) {
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
result[i][j] = mat1[i][j] + mat2[i][j];
}
}
}
int main() {
int matrix1[ROWS][COLS] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int matrix2[ROWS][COLS] = {{9, 8, 7}, {6, 5, 4}, {3, 2, 1}};
int result[ROWS][COLS];
addMatrices(matrix1, matrix2, result);
// Display the result matrix
printf(“Resultant Matrix:\n”);
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
printf(“%d “, result[i][j]);
}
printf(“\n”);
}
return 0;
}
Matrix Multiplication
#include <stdio.h>
#define ROWS_A 3
#define COLS_A 2
#define ROWS_B 2
#define COLS_B 3
// Function to multiply two matrices
void multiplyMatrices(int mat1[][COLS_A], int mat2[][COLS_B], int result[][COLS_B]) {
for (int i = 0; i < ROWS_A; i++) {
for (int j = 0; j < COLS_B; j++) {
result[i][j] = 0;
for (int k = 0; k < COLS_A; k++) {
result[i][j] += mat1[i][k] * mat2[k][j];
}
}
}
}
int main() {
int matrix1[ROWS_A][COLS_A] = {{1, 2}, {3, 4}, {5, 6}};
int matrix2[ROWS_B][COLS_B] = {{1, 2, 3}, {4, 5, 6}};
int result[ROWS_A][COLS_B];
multiplyMatrices(matrix1, matrix2, result);
// Display the result matrix
printf(“Resultant Matrix:\n”);
for (int i = 0; i < ROWS_A; i++) {
for (int j = 0; j < COLS_B; j++) {
printf(“%d “, result[i][j]);
}
printf(“\n”);
}
return 0;
}