C Program to Interchange Two Random Rows in a Matrix
In this article, we will write a C program to interchange two random rows in a matrix. Below are the inputs that will be taken from the user:
- The number of rows & columns in the matrix
- The elements in the matrix
- The rows that will be interchanged
Examples:
Input: rows = 3, columns = 3 arr[i, j] = {{2, 1, 3} {1, 2, 6} {3, 8, 1}} r1 = 2, r2 = 3 Output: arr[i, j] = {{2, 1, 3} {3, 8, 1} {1, 2, 6}} Input: rows = 3, columns = 3 arr[i, j] = {{1, 2, 3} {4, 5, 6} {7, 8, 9}} r1 = 1, r2 = 2 Output: arr[i, j] = {{4, 5, 6} {1, 2, 3} {7, 8, 9}}
Approach: A simple & straightforward approach is to iterate through the matrix to reach the target rows and then swap the elements in both rows to get the desired matrix as output.
Example:
C
// C program to interchange two random rows in a matrix #include <stdio.h> int main() { int rows, columns; printf ( "Enter the number of rows & columns: " ); scanf ( "%d %d" , &rows, &columns); int i, j, arr[10][10]; printf ( "\nEnter the elements:\n\n" ); for (i = 0; i < rows; ++i) { for (j = 0; j < columns; ++j) { printf ( "Matrix[%d][%d]: " , i, j); scanf ( "%d" , &arr[i][j]); } } printf ( "\nMatrix before interchanging rows:\n" ); for (i = 0; i < rows; ++i) { for (j = 0; j < columns; ++j) { printf ( "%d " , arr[i][j]); } printf ( "\n" ); } int r1, r2, temp; printf ( "\nEnter two row numbers that will be " "interchanged: " ); scanf ( "%d %d" , &r1, &r2); // Swap elements in both rows for (i = 0; i < rows; ++i) { temp = arr[r1 - 1][i]; arr[r1 - 1][i] = arr[r2 - 1][i]; arr[r2 - 1][i] = temp; } printf ( "\nMatrix after interchanging rows:\n" ); for (i = 0; i < rows; ++i) { for (j = 0; j < columns; ++j) { printf ( "%d " , arr[i][j]); } printf ( "\n" ); } return 0; } |
Output:
Enter the number of rows & columns: 3 3 Enter the elements: Matrix[0][0]: 1 Matrix[0][1]: 2 Matrix[0][2]: 4 Matrix[1][0]: 5 Matrix[1][1]: 8 Matrix[1][2]: 9 Matrix[2][0]: 4 Matrix[2][1]: 2 Matrix[2][2]: 6 Matrix before interchanging rows: 1 2 4 5 8 9 4 2 6 Enter two row numbers that will be interchanged: 2 3 Matrix after interchanging rows: 1 2 4 4 2 6 5 8 9
Contact Us