Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /******************************************************************************
- * FILE: sort.c
- * AUTHOR: Cristian Chilipirea
- * Generates serially sorts and displays a vector
- ******************************************************************************/
- #include<stdio.h>
- #include<stdlib.h>
- #include<math.h>
- #define N 10
- int main(int argc, char argv[]) {
- srand(42);
- int v[N][N];
- int i,j;
- int sorted = 0;
- int aux,*aux1;
- int k;
- // generate the vector v with random values
- for(i = 0; i < N; i++)
- for(j = 0; j < N; j++)
- v[i][j] = rand()%N;
- // sort the matrix v
- for(k = 0; k < log2(N) ; k++)
- {
- for(i = 0;i < N; i++)
- for(j = 0;j < N; j++)
- {
- if(v[i][j] > v[i][j+1])
- {
- aux = v[i][j];
- v[i][j] = v[i][j+1];
- v[i][j+1] = aux;
- }
- }
- for(i = 1;i < N; i++)
- for(j = 0;j < N; j++)
- {
- if(v[i][j] < v[i][j-1])
- {
- aux = v[i][j];
- v[i][j] = v[i][j-1];
- v[i][j-1] = aux;
- }
- }
- }
- for(i = 1;i < N; i++)
- for(k = 0;k < N; k++)
- {
- if(v[0][i] > v[0][i + 1])
- {
- for(j = 0; j < N; j++)
- {
- aux1[j] = v[j][i];
- v[j][i] = v[j][k];
- v[i][k] = aux1[j];
- }
- }
- }
- // display the vector v
- for(i = 0; i < N; i++) {
- if(i%2) {
- for(j = 0; j < N; j++) {
- printf("%i\t", v[i][j]);
- }
- } else {
- for(j = N-1; j >= 0; j--) {
- printf("%i\t", v[i][j]);
- }
- }
- }
- printf("\n");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement