Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <conio.h>
- #include <time.h>
- #define COLUMNS 10
- #define ROWS 5
- void initRandomArray(int arr[][COLUMNS]);
- void printArray(int arr[][COLUMNS]);
- void sortArray(int arr[][COLUMNS]);
- void sortInColumn(int arr[][COLUMNS], int col);
- void sortColumns(int arr[][COLUMNS]);
- int compareColumns(int arr[][COLUMNS], int col1, int col2);
- void swapColumns(int arr[][COLUMNS], int col1, int col2);
- void swap(int *a, int *b);
- void main()
- {
- int i, arr[ROWS][COLUMNS];
- initRandomArray(arr);
- printf("Before sorting:\n");
- printArray(arr);
- sortArray(arr);
- getch();
- }
- void initRandomArray(int arr[][COLUMNS])
- {
- int i,j;
- srand(time(NULL));
- for (i = 0; i < ROWS;i++)
- for (j = 0; j < COLUMNS; j++)
- arr[i][j] = (rand() % 21);
- }
- void printArray(int arr[][COLUMNS])
- {
- int i, j;
- for (i = 0; i < ROWS; i++)
- {
- for (j = 0; j < COLUMNS; j++)
- printf("%4d", arr[i][j]);
- printf("\n");
- }
- }
- void sortArray(int arr[][COLUMNS])
- {
- int i;
- for (i = 0; i < COLUMNS; i++)
- sortInColumn(arr, i);
- printf("\nSorting elements in each column:\n");
- printArray(arr);
- sortColumns(arr);
- printf("\nSorting columns:\n");
- printArray(arr);
- }
- void sortInColumn(int arr[][COLUMNS], int col)
- {
- int i,j,temp;
- for (j=0; j<ROWS-1; j++)
- for (i = 1; i<ROWS; i++)
- if (arr[i - 1][col] > arr[i][col])
- swap(&arr[i - 1][col], &arr[i][col]);
- }
- void sortColumns(int arr[][COLUMNS])
- {
- int i, j;
- for (j = 0; j<COLUMNS - 1; j++)
- for (i = 1; i<COLUMNS; i++)
- if (compareColumns(arr,i-1,i))
- swapColumns(arr,i-1,i);
- }
- int compareColumns(int arr[][COLUMNS], int col1, int col2)
- {
- int i;
- for (i = 0; i < ROWS; i++)
- {
- if (arr[i][col1]>arr[i][col2])
- return 1;
- if (arr[i][col1] < arr[i][col2])
- return 0;
- }
- return 0;
- }
- void swapColumns(int arr[][COLUMNS], int col1, int col2)
- {
- int i;
- for (i = 0; i < ROWS; i++)
- swap(&arr[i][col1], &arr[i][col2]);
- }
- void swap(int *a, int *b)
- {
- int temp;
- temp = *b;
- *b = *a;
- *a = temp;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement