Advertisement
dllbridge

Untitled

Feb 25th, 2023
632
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 8.88 KB | None | 0 0
  1.  
  2.  
  3. #include   <stdio.h>
  4.  
  5. //////////////////////////////////////////////////////
  6. class tt
  7. {
  8.     //private:
  9.    
  10.     int size;
  11.    
  12.    
  13.    
  14.     public:
  15.    
  16.     int x1;
  17.     int x2;    
  18.    
  19.     int s();
  20.  
  21. };
  22.  
  23.  
  24. tt k;
  25.  
  26. /////////////////////////////////////////////////////
  27. int main()                                         //
  28. {
  29.    
  30.     k.x1 = 10;
  31.     k.x2 =  5;
  32.    
  33.     int s = k.s();
  34.      
  35.     printf("s = %d\n", s);
  36. }
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49. ///////////////////////////////////////////////////////////
  50.     int tt::s()
  51.     {
  52.        
  53.        size = x1 * x2; 
  54.        return size;    
  55.     }
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67. /*
  68.  
  69. #include   <stdio.h>
  70.  
  71. //////////////////////////////////////////////////////
  72. class tt
  73. {
  74.     //private:
  75.    
  76.     int size;
  77.    
  78.    
  79.    
  80.     public:
  81.    
  82.     int x1;
  83.     int x2;    
  84.    
  85.     int s()
  86.     {
  87.        
  88.        size = x1 * x2; 
  89.        return size;    
  90.     }      
  91. };
  92.  
  93.  
  94. tt k;
  95.  
  96. /////////////////////////////////////////////////////
  97. int main()                                         //
  98. {
  99.    
  100.     k.x1 = 10;
  101.     k.x2 =  5;
  102.    
  103.     int s = k.s();
  104.      
  105.     printf("s = %d\n", s);
  106. }
  107.  
  108.  
  109.  
  110.  
  111. */
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139. /*
  140. #include   <stdio.h>
  141.  
  142. //////////////////////////////////////////////////////
  143. struct tt
  144. {
  145.     int x1;
  146.     int x2;    
  147.    
  148.     int s()
  149.     {
  150.        
  151.        return x1 * x2;  
  152.     }
  153. };
  154.  
  155.  
  156. tt k;
  157.  
  158. /////////////////////////////////////////////////////
  159. int main()                                         //
  160. {
  161.    
  162.     k.x1 = 10;
  163.     k.x2 =  5;
  164.    
  165.     int s = k.s();
  166.      
  167.     printf("s = %d\n", s);
  168. }
  169.  
  170.  
  171.  
  172.  
  173. */
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215. /*
  216.  
  217. #include   <stdio.h>
  218.  
  219. int arr[99] =  { 17, 5, 0, 777, 11, -2, 198, -3, 7, 3 };
  220.  
  221.  
  222. void _sorting(int*, int);
  223.  
  224. void foo();  
  225.  
  226. /////////////////////////////////////////////////////
  227. int main()                                         //
  228. {
  229.    
  230.      foo();  
  231.     _sorting(arr, 10);
  232.      foo();
  233. }
  234.  
  235.  
  236. /////////////////////////////////////////////////////
  237. void _sorting(int* arr, int size)                  //
  238. {
  239.  
  240.     int step = size - 1;
  241.     int temp = 0;
  242.     while(step > 0)
  243.     {
  244.         for(int i = 0; i + step < size; i++)
  245.         {
  246.             if(arr[i] > arr[i + step])
  247.             {
  248.                 temp = arr[i];
  249.                 arr[i] = arr[i + step];
  250.                 arr[i + step]  = temp;
  251.             }
  252.         }
  253.        
  254.         step = step / 1.2473309;
  255.                    
  256.     }
  257. }
  258.  
  259.  
  260. //////////////////////////////////////////////////////
  261. void foo()                                          //  arr[%d] =
  262. {
  263.    
  264.      for(int i = 0; i < 10; i++)
  265.      {
  266.            
  267.          printf("%3d, ", arr[i]);      
  268.      }
  269.      printf("\n");
  270. }
  271.  
  272.  
  273.  
  274. */
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295. /*
  296.  
  297.  
  298. #include   <stdio.h>
  299.  
  300. int arr[99] =  { 17, 5, 0, 777, 11, -2, 198, -3, 7, 3 };        //  Этот массив требуется сортировать по возрастанию
  301.  
  302. int       length = 10,                                                                //  Кол-во элементов в массиве
  303.      swap_counter = 0;                            //                    Суммарное число перестановок, при сортировке    
  304.  
  305. void bubble_sorting(int *a, int size);            //                                            Сортировка пузырьком
  306. void   comb_sorting(int *a, int size);
  307. void           show(int *a, int size);            //                             Показать на экране элементы массива
  308. void           swap(int &a, int   &b);            //                       Меняет местами содержимое двух переменных
  309. int   chek_res_sort(int *a, int size);            //      Возвращает TRUE, если отсортировано верно. FALSE, если нет.
  310. //                           Точка входа в программу
  311. ////////////////////////////////////////////////////
  312. int main()                                        //
  313. {
  314.    
  315.     show(arr, length);
  316.    
  317.     comb_sorting(arr, length);
  318.     //bubble_sorting(arr, length);
  319.     printf("- - - - - - - - - - - - - - - - - - - - - - -   \n");
  320.     printf("In the sorting process, it took %d permutations.\n", swap_counter);
  321.     if(chek_res_sort(arr, length) ) printf("Checked. The numbers are strictly ascending."      );
  322.     else                            printf("Mistake! The values in the array are out of order.");
  323.    
  324. return 0;  
  325. }
  326.  
  327. //                              Сортировка "Расчёска"
  328. /////////////////////////////////////////////////////                                            
  329. void comb_sorting(int *a,                          //                                Передаёте адрес элемента массива,
  330.                                                    //              с которого начинаете упорядочивание по возрастанию.
  331.                   int size)                        //       И передаёте кол-во элементов, которые будут отсортированы.
  332. {
  333.  
  334.      int step = size - 1;
  335.  
  336.      while(step >= 1)
  337.      {
  338.            
  339.          for(int i = 0; i + step < size; i++)      
  340.          {
  341.                    
  342.              if(a[i] > a[i+step])  
  343.              {
  344.                 swap(a[i], a[i+step]);
  345.                 show( arr, length);                 //                                       Эта строка необязательна    
  346.              }                                      //                         Нужна для отслеживания хода сортировки
  347.          }  
  348.          
  349.          step /= 1.2473309;
  350.      }      
  351. }
  352.  
  353.  
  354. //                               Сортировка пузырьком
  355. /////////////////////////////////////////////////////                                            
  356. void bubble_sorting(int *a,                        //                                Передаёте адрес элемента массива,
  357.                                                    //              с которого начинаете упорядочивание по возрастанию.
  358.                     int size)                      //       И передаёте кол-во элементов, которые будут отсортированы.                                                    
  359. {  
  360.        
  361.      int    i,                //  Счётчик в цикле  //
  362.          Flag;              //  флаг перестановки  //
  363.    
  364.      do { Flag = 0;
  365.          
  366.           for(i = 0; i < size - 1; i++)
  367.           {
  368.              if(a[i] > a[i+1])
  369.              {
  370.                 swap(a[i], a[i+1]);
  371.              
  372.                 show(arr, length);                 //                                       Эта строка необязательна
  373.                                                    //                         Нужна для отслеживания хода сортировки  
  374.                 Flag = 1;                          //                     Была перестановка. Значит цикл продолжится  
  375.              }
  376.           }        
  377.           printf("\n");
  378.          
  379.      } while(Flag == 1);                           //                          Если (Flag == 1), то цикл повторяется
  380. }
  381.  
  382. //                Показать на экране элементы массива
  383. /////////////////////////////////////////////////////                            
  384. void show(int *a, int size)                        //
  385. {
  386.      int i = 0;
  387.    
  388.      for(; i < size; i++) printf("%2d, ", a[i]);
  389.      
  390.      printf("\n");
  391. }
  392.  
  393.  
  394. //           Меняет местами содержимое двух переменных
  395. //////////////////////////////////////////////////////                      
  396. void swap(int &a, int &b)                           //
  397. {
  398.    
  399.      int buf = a;
  400.      a = b;
  401.      b = buf;
  402.      
  403.      swap_counter ++;                               //                                    Ещё одна (+1) перестановка
  404. }
  405.  
  406.  
  407.  
  408. //            Проверка правильности сортировки массива
  409. //////////////////////////////////////////////////////
  410. int chek_res_sort(int *a,                           //                                        Передаёте адрес массива,
  411.                                                     //                          который был упорядочен по возрастанию.
  412.                   int size)                         //          И передаёте кол-во элементов, которые нужно проверить.
  413. {
  414.    
  415.     for(int i = 0; i < size - 1; i++)
  416.     {
  417.            
  418.         if(a[i] > a[i+1]) return 0;          
  419.     }
  420.    
  421. return 1;  
  422. }
  423.  
  424.  
  425. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement