How to sort each row from a two-dimensional array in C

1 Answer

0 votes
#include <stdio.h>
#include <stdlib.h>

#define ROWS 3
#define COLS 4

// Function to sort each row of a 2D array
void sortRows(int array[ROWS][COLS], int rows, int cols) {
    for (int i = 0; i < rows; ++i) {
        for (int j = 0; j < cols - 1; ++j) {
            for (int k = j + 1; k < cols; ++k) {
                if (array[i][j] > array[i][k]) {
                    // Swap the elements
                    int temp = array[i][j];
                    array[i][j] = array[i][k];
                    array[i][k] = temp;
                }
            }
        }
    }
}

void print2DArray(int array[ROWS][COLS], int rows, int cols) {
    for (int i = 0; i < rows; ++i) {
        for (int j = 0; j < cols; ++j) {
            printf("%d ", array[i][j]);
        }
        printf("\n");
    }
}

int main() {
    int array[ROWS][COLS] = {
        {4, 2, 1, 3},
        {8, 6, 5, 7},
        {12, 10, 11, 9}
    };

    sortRows(array, ROWS, COLS);

    print2DArray(array, ROWS, COLS);

    return 0;
}



/*
run:

1 2 3 4 
5 6 7 8 
9 10 11 12 

*/

 



answered Mar 16, 2025 by avibootz

Related questions

1 answer 90 views
1 answer 68 views
68 views asked Aug 12, 2025 by avibootz
2 answers 105 views
1 answer 105 views
1 answer 105 views
...