C Online Compiler
Example: Matrix Multiplication Program
C
C++
C#
Java
Python
PHP
main.c
STDIN
Run
// Matrix Multiplication #include
#define ROW1 2 // Rows of matrix1 #define COL1 3 // Columns of matrix1 #define ROW2 3 // Rows of matrix2 (must be equal to COL1) #define COL2 2 // Columns of matrix2 // Function to print a matrix // Note: This print function is generic, adapted for dynamic sizes in main for clarity. void printMatrix(int rows, int cols, int matrix[rows][cols]) { for (int i = 0; i < rows; i++) { for (int j = 0; j < cols; j++) { printf("%d ", matrix[i][j]); } printf("\n"); } } int main() { // Step 1: Define matrices A and B int matrixA[ROW1][COL1] = { {1, 2, 3}, {4, 5, 6} }; // 2x3 matrix int matrixB[ROW2][COL2] = { {7, 8}, {9, 10}, {11, 12} }; // 3x2 matrix // Resultant matrix will be ROW1 x COL2 (2x2) int prodMatrix[ROW1][COL2]; printf("Matrix A (%dx%d):\n", ROW1, COL1); printMatrix(ROW1, COL1, matrixA); printf("\nMatrix B (%dx%d):\n", ROW2, COL2); printMatrix(ROW2, COL2, matrixB); // Step 2: Perform multiplication // Condition: Number of columns in matrixA must equal number of rows in matrixB. if (COL1 != ROW2) { printf("\nError: Matrices cannot be multiplied. Column of first matrix must equal row of second matrix.\n"); return 1; // Indicate an error } printf("\nPerforming Matrix Multiplication (A * B):\n"); // Initialize product matrix with zeros for (int i = 0; i < ROW1; i++) { for (int j = 0; j < COL2; j++) { prodMatrix[i][j] = 0; } } // Main multiplication logic for (int i = 0; i < ROW1; i++) { // For each row of matrixA for (int j = 0; j < COL2; j++) { // For each column of matrixB for (int k = 0; k < COL1; k++) { // For each element in the row/column prodMatrix[i][j] += matrixA[i][k] * matrixB[k][j]; } } } // Step 3: Print the result printf("Product Matrix (%dx%d):\n", ROW1, COL2); printMatrix(ROW1, COL2, prodMatrix); return 0; }
Output
Clear
ADVERTISEMENTS