Advertisement
Petro_zzz

new_lesson7_1

Aug 31st, 2022
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.74 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. void draw(int N) {
  6.     int k = 0;
  7.     int n = 0;
  8.     while (k < N) {
  9.         n = 0;
  10.         while (n <= k) {
  11.             cout << "**";
  12.             n++;
  13.         }
  14.         cout << endl;
  15.         k++;
  16.     }
  17. }
  18.  
  19. void genArr(int sz, int arr[]) {
  20.     for (int k = 0; k < sz; k++) {
  21.         arr[k] = 10 + rand() % 90;
  22.     }
  23. }
  24.  
  25. void showArr(int sz, int arr[]) {
  26.     for (int k = 0; k < sz; k++)
  27.         cout << arr[k] << " ";
  28.     cout << endl;
  29. }
  30.  
  31. void insertSortB(long sz, int arr[]) {
  32.     int tmp;
  33.     long i, j;
  34.     for (i = 1; i < sz; i++)    {
  35.         tmp = arr[i];
  36.         j = i - 1;
  37.         while (j >= 0 && arr[j] > tmp)      {
  38.             arr[j + 1] = arr[j];
  39.             j = j - 1;
  40.         }
  41.         arr[j + 1] = tmp;
  42.         //showArr(sz, arr);
  43.         //getchar();
  44.     }
  45. }
  46.  
  47. void insertSortS(long sz, int arr[]) {
  48.     int tmp;
  49.     long i, j;
  50.     for (i = 1; i < sz; i++) {
  51.         tmp = arr[i];
  52.         j = i - 1;
  53.         while (j >= 0 && arr[j] < tmp) {
  54.             arr[j + 1] = arr[j];
  55.             j = j - 1;
  56.         }
  57.         arr[j + 1] = tmp;
  58.         //showArr(sz, arr);
  59.         //getchar();
  60.     }
  61. }
  62.  
  63. void copyArr(long sz, int src[], int dst[]) {
  64.     for(int k = 0; k < sz; k++)
  65.         dst[k] = src[k];
  66. }
  67.  
  68. int searchArr(int val, long sz, int arr[]) {
  69.     for (int k = 0; k < sz; k++) {
  70.         if (arr[k] == val) {
  71.             return k;
  72.         }
  73.     }
  74.     return -1;
  75. }
  76.  
  77. void compSort(int val, long sz, int arr[]) {
  78.     int id = searchArr(val, sz, arr);
  79.     if (id >= 0) {
  80.         insertSortB(id, arr);
  81.         insertSortS(sz-id, &(arr[id+1]));
  82.     }
  83. }
  84.  
  85. int main(){
  86.     const int sz = 10;
  87.     int arr[sz], arr2[sz]{};
  88.     genArr(sz, arr);
  89.     copyArr(sz, arr, arr2);
  90.     compSort(74, sz, arr2);
  91.  
  92.     //insertSortB(sz, arr);
  93.     //insertSortS(sz, arr2);
  94.    
  95.    
  96.     showArr(sz, arr);
  97.     showArr(sz, arr2);
  98.  
  99.     //cout << searchArr(74, sz, arr) << " "
  100.     //  << searchArr(74, sz, arr2) << endl;
  101.  
  102.     /*
  103.     insertSortB(sz, arr);
  104.     showArr(sz, arr);
  105.     */
  106.     //draw(10);
  107. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement