Advertisement
dllbridge

Untitled

Dec 12th, 2021
1,306
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.24 KB | None | 0 0
  1.  
  2.  
  3.  
  4.  
  5.  
  6. #include   <stdio.h>
  7.  
  8.  
  9.  
  10. int  arr[11] = {2, 5, 11, -8, 444, 66, 9, 18, 111, 1};
  11.  
  12. int  size    = 10;                  //  Размер массива или кол-во элементов
  13. int  counter =  0;
  14.  
  15.  
  16. void swap(int &a, int &b);
  17. void PrintArray        ();
  18. void sort(int *a, int n);  
  19.  
  20. ////////////////////////////////////////////////////
  21. int main()                                        //
  22. {
  23.     PrintArray();
  24.     sort(arr, size);
  25.  
  26.     printf("counter = %d \n", counter);
  27. }
  28.  
  29.  
  30.  
  31.  
  32. /////////////////////////////////////////////////////
  33. void sort(int *a, int n)                           //
  34. {
  35.    
  36.      int F = 0;
  37.  
  38. L_01:  
  39.      for(int x = 0; x < n-1; x++)
  40.      {   
  41.         if(a[x] > a[x+1])
  42.         {  
  43.            swap(a[x], a[x+1]);
  44.            PrintArray();       
  45.            F = 1;
  46.         }
  47.      }
  48.      printf("\n");
  49.      if(F == 1) { F = 0; goto L_01; }
  50. }
  51.  
  52. /////////////////////////////////////////////////////
  53. void swap(int &a, int &b)                          //
  54. {
  55.    
  56.      int buf = a;
  57.      
  58.      a =   b;
  59.      b = buf;
  60.      
  61.      counter ++;
  62. }
  63.  
  64. //////////////////////////////////////////////////////
  65. void PrintArray()                                   //
  66. {
  67.    
  68.      for(int x = 0; x < size; x++)
  69.      {
  70.          printf("%d, ", arr[x]);       
  71.      }
  72.      printf("\n");
  73. }
  74.  
  75.  
  76.  
  77.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement