Advertisement
Petro_zzz

main_sort_template

Apr 24th, 2024
758
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.80 KB | None | 0 0
  1. #include <iostream>
  2. #include "my_lib.h"
  3.  
  4. // https://pastebin.com/nB6DAg97
  5.  
  6. using namespace std;
  7.  
  8. void test_sort() {
  9.     const int size = 10;
  10.     int arr[size]{ 3,4,5,6,3,1,7,4,9,2 };
  11.     //int arr[size]{ 1,2,3,4,5,6,7,8,9,10 };
  12.  
  13.     show_arr(size, arr);
  14.     bubble_sort(size, arr);
  15.     show_arr(size, arr);
  16. }
  17.  
  18. void test_merge_sort() {
  19.     const int sz1 = 7;
  20.     const int sz2 = 5;
  21.  
  22.     // маленькие массивы должны быть отсортированными
  23.     int arr1[sz1]{ 3,5,6,9,9,11,17 };
  24.     int arr2[sz2]{ 1,2,3,7,8 };
  25.     int arr3[sz1 + sz2]{};
  26.  
  27.  
  28.     int id1 = 0;
  29.     int id2 = 0;
  30.     for (int k = 0; k < sz1 + sz2; k++) {
  31.         if ((id1 < sz1) && (arr1[id1] < arr2[id2])) {
  32.             arr3[k] = arr1[id1];
  33.             id1++;
  34.         }
  35.         else if(id2 < sz2) {
  36.             arr3[k] = arr2[id2];
  37.             id2++;
  38.         }
  39.         else {
  40.             arr3[k] = arr1[id1];
  41.             id1++;
  42.         }
  43.         //show_arr(sz1 + sz2, arr3);
  44.     }
  45.     show_arr(sz1 + sz2, arr3);
  46.     // ваш код
  47.  
  48.     // 1, 2, 3, 3, 5, 6, 7, 8, 9, 9
  49. }
  50.  
  51. int sum(int a, int b) {
  52.     return a + b;
  53. }
  54.  
  55. // перегрузка по количеству аргументов
  56. int sum(int a) {
  57.     return a + 0;
  58. }
  59.  
  60. // Функция со значением агумента по умолчанию  
  61. int mult(int a, int b = 1) {
  62.     return a * b;
  63. }
  64.  
  65. // перегрузка по типу аргументов
  66. double mult(double a, double b = 1) {
  67.     return a * b;
  68. }
  69.  
  70. // шаблоны функций
  71. template<class T1, class T2>
  72. T1 div1(T1 a, T2 b) {
  73.     return a / b;
  74. }
  75.  
  76.  
  77.  
  78. int main() {
  79.     //test_sort();
  80.     //test_merge_sort();
  81.     cout << sum(7, 8) << endl;
  82.     cout << sum(7, 0) << endl;
  83.     cout << sum(7) << endl;
  84.     cout << mult(9, 8) << endl;
  85.     cout << mult(9) << endl;
  86.     cout << mult(9.1, 8.5) << endl;
  87.     cout << div1(7, 2) << endl;
  88.     cout << div1(7.0, 2.0) << endl;
  89.     cout << div1(7, 3.5) << endl;
  90.  
  91.  
  92.     return 0;
  93. }
  94.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement