C program to perform scalar matrix multiplication

Category: C Program

Learn how to write a C program to perform scalar matrix multiplication. This article provides a detailed explanation and sample code for multiplying matrix elements by a scalar value using a simple iterative approach.

Scalar matrix multiplication is a fundamental operation in linear algebra where each element of a matrix is multiplied by a scalar value. This operation is commonly used in various fields such as computer graphics, scientific computing, and engineering. In this article, we will guide you through writing a C program to perform scalar matrix multiplication, providing a detailed explanation and sample code.

What is Scalar Matrix Multiplication?

Scalar matrix multiplication involves taking a matrix and a scalar value, and then multiplying every element of the matrix by that scalar value. For example, if you have a 2x2 matrix:

Scalar multiplication

and a scalar value (k) , the resulting matrix after scalar multiplication would be:

After scalar multiplication

Each element of the original matrix is multiplied by the scalar (k).

Steps to Perform Scalar Matrix Multiplication

To perform scalar matrix multiplication in C, we can follow these steps:

  1. Input the Matrix: Read the elements of the matrix from the user.
  2. Input the Scalar: Read the scalar value from the user.
  3. Perform the Multiplication: Multiply each element of the matrix by the scalar value.
  4. Print the Result: Output the resultant matrix to the console.

Write a C program to perform scalar matrix multiplication

#include <stdio.h>

int main() {
    int rows, cols;
    float scalar;

    // Input the dimensions of the matrix
    printf("Enter the number of rows and columns of the matrix -\n");
    scanf("%d %d", &rows, &cols);

    // Declare the matrix
    float matrix[rows][cols];

    // Input elements of the matrix
    printf("Enter elements of the matrix -\n");
    for (int i = 0; i < rows; i++) {
        for (int j = 0; j < cols; j++) {
            printf("Element [%d][%d]: ", i, j);
            scanf("%f", &matrix[i][j]);
        }
    }

    // Input the scalar value
    printf("Enter the scalar value to multiply: ");
    scanf("%f", &scalar);

    // Perform scalar multiplication
    for (int i = 0; i < rows; i++) {
        for (int j = 0; j < cols; j++) {
            matrix[i][j] *= scalar;
        }
    }

    // Print the resultant matrix
    printf("Resultant matrix after scalar multiplication:\n");
    for (int i = 0; i < rows; i++) {
        for (int j = 0; j < cols; j++) {
            printf("%.2f ", matrix[i][j]);
        }
        printf("\n");
    }

    return 0;
}

Output

Enter the number of rows and columns of the matrix -
3
3
Enter elements of the matrix -
Element [0][0]: 1
Element [0][1]: 2
Element [0][2]: 3
Element [1][0]: 4
Element [1][1]: 5
Element [1][2]: 6
Element [2][0]: 7
Element [2][1]: 8
Element [2][2]: 9
Enter the scalar value to multiply: 3
Resultant matrix after scalar multiplication:
3.00 6.00 9.00
12.00 15.00 18.00
21.00 24.00 27.00

Explanation

  1. Input the Matrix: The user inputs the dimensions (number of rows and columns) of the matrix and then enters the elements of the matrix.
  2. Input the Scalar: The user inputs the scalar value by which the matrix elements will be multiplied.
  3. Perform the Multiplication:
    • Nested loops iterate over each element of the matrix.
    • Each element of the matrix is multiplied by the scalar value and the result is stored in the same matrix.
  4. Print the Result: The program prints the elements of the resultant matrix.

Detailed Steps

  • Step 1: Input the Matrix
    • The program prompts the user to enter the number of rows and columns for the matrix.
    • The user inputs the elements of the matrix.
  • Step 2: Input the Scalar
    • The program prompts the user to enter the scalar value for the multiplication.
  • Step 3: Perform the Multiplication
    • Two nested loops iterate through each element of the matrix.
    • Each element is multiplied by the scalar value, and the result is stored back in the matrix.
  • Step 4: Print the Result
    • The program prints the elements of the resultant matrix row by row.

Recommended Posts