# 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:

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

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.