Write a c program to sort in ascending order and reverse the individual row elements of an mxn matrix
#include <stdio.h>
#include <stdlib.h>
// Function to sort a row in ascending order
void sortRowAscending(int *row, int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = i + 1; j < n; j++) {
if (row[i] > row[j]) {
int temp = row[i];
row[i] = row[j];
row[j] = temp;
}
}
}
}
// Function to reverse a row
void reverseRow(int *row, int n) {
int start = 0, end = n - 1;
while (start < end) {
int temp = row[start];
row[start] = row[end];
row[end] = temp;
start++;
end--;
}
}
int main() {
int m, n;
printf("Enter the number of rows and columns: ");
scanf("%d %d", &m, &n);
int matrix[m][n];
printf("Enter the elements of the matrix:\n");
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
scanf("%d", &matrix[i][j]);
}
}
// Sort each row in ascending order and then reverse it
for (int i = 0; i < m; i++) {
sortRowAscending(matrix[i], n);
reverseRow(matrix[i], n);
}
printf("Sorted matrix with each row in descending order:\n");
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
return 0;
}
Comments
Post a Comment