Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2014
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.41 KB | None | 0 0
  1. /******************************************************************************
  2. * FILE: sort.c
  3. * AUTHOR: Cristian Chilipirea
  4. * Generates serially sorts and displays a vector
  5. ******************************************************************************/
  6. #include<stdio.h>
  7. #include<stdlib.h>
  8. #include<math.h>
  9. #define N 10
  10.  
  11. int main(int argc, char argv[]) {
  12. srand(42);
  13. int v[N][N];
  14. int i,j;
  15. int sorted = 0;
  16. int aux,*aux1;
  17. int k;
  18.  
  19. // generate the vector v with random values
  20. for(i = 0; i < N; i++)
  21. for(j = 0; j < N; j++)
  22. v[i][j] = rand()%N;
  23.  
  24. // sort the matrix v
  25. for(k = 0; k < log2(N) ; k++)
  26. {
  27. for(i = 0;i < N; i++)
  28. for(j = 0;j < N; j++)
  29. {
  30. if(v[i][j] > v[i][j+1])
  31. {
  32. aux = v[i][j];
  33. v[i][j] = v[i][j+1];
  34. v[i][j+1] = aux;
  35. }
  36. }
  37.  
  38. for(i = 1;i < N; i++)
  39. for(j = 0;j < N; j++)
  40. {
  41. if(v[i][j] < v[i][j-1])
  42. {
  43. aux = v[i][j];
  44. v[i][j] = v[i][j-1];
  45. v[i][j-1] = aux;
  46. }
  47. }
  48. }
  49. for(i = 1;i < N; i++)
  50. for(k = 0;k < N; k++)
  51. {
  52. if(v[0][i] > v[0][i + 1])
  53. {
  54. for(j = 0; j < N; j++)
  55. {
  56. aux1[j] = v[j][i];
  57. v[j][i] = v[j][k];
  58. v[i][k] = aux1[j];
  59. }
  60. }
  61. }
  62.  
  63. // display the vector v
  64. for(i = 0; i < N; i++) {
  65. if(i%2) {
  66. for(j = 0; j < N; j++) {
  67. printf("%i\t", v[i][j]);
  68. }
  69. } else {
  70. for(j = N-1; j >= 0; j--) {
  71. printf("%i\t", v[i][j]);
  72. }
  73. }
  74. }
  75. printf("\n");
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement