nvnnaidenov

Zad42

Sep 24th, 2021
902
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /* Да се напише програма, която слива двете редици в
  2. редицата */
  3. #include <iostream>
  4. #include <iomanip>
  5.  
  6. using namespace std;
  7.  
  8. int main()
  9. {
  10.     int n;
  11.     int m;
  12.     int i;
  13.     int p1;
  14.     int p2;
  15.     int p3;
  16.     int a[20];
  17.     int b[10];
  18.     int c[30];
  19.  
  20.     cout << "n = ";
  21.     cin >> n;
  22.     if(!cin)
  23.     {
  24.         cout << "Error, bad input!";
  25.         return 1;
  26.     }
  27.     if(n < 1 || n > 20)
  28.     {
  29.         cout << "Error, incorrect input!";
  30.         return 1;
  31.     }
  32.     for(i = 0; i <= n - 1; i++)
  33.     {
  34.         cout << "a[" << i << "] = ";
  35.         cin >> a[i];
  36.         if(!cin)
  37.         {
  38.             cout << "Error, bad input!";
  39.             return 1;
  40.         }
  41.     }
  42.     cout << "m = ";
  43.     cin >> m;
  44.     if(!cin)
  45.     {
  46.         cout << "Error, bad input!";
  47.         return 1;
  48.     }
  49.     if(m < 1 || m > 10)
  50.     {
  51.         cout << "Error, incorrect input!";
  52.         return 1;
  53.     }
  54.     for(i = 0; i <= m - 1; i++)
  55.     {
  56.         cout << "b[" << i << "] = ";
  57.         cin >> b[i];
  58.         if(!cin)
  59.         {
  60.             cout << "Error, bad input!";
  61.             return 1;
  62.         }
  63.     }
  64.  
  65.     p1 = 0;
  66.     p2 = 0;
  67.     p3 = -1;
  68.  
  69.     while(p1 <= n - 1 && p2 <= m - 1)
  70.     {
  71.         if(a[p1] <= b[p2])
  72.         {
  73.             p3++;
  74.             c[p3] = a[p1];
  75.             p1++;
  76.         }
  77.         else
  78.         {
  79.             p3++;
  80.             c[p3] = b[p2];
  81.             p2++;
  82.         }
  83.         if(p1 > n - 1)
  84.         {
  85.             for(i = p2; i <= m - 1; i++)
  86.             {
  87.                 p3++;
  88.                 c[p3] = b[i];
  89.             }
  90.         }
  91.         else
  92.         {
  93.             for(i = p1; i <= n - 1; i++)
  94.             {
  95.                 p3++;
  96.                 c[p3] = a[i];
  97.             }
  98.         }
  99.     }
  100.  
  101.     for(i = 0; i <= p3; i++)
  102.     {
  103.         cout << setw(10) << c[i];
  104.     }
  105.  
  106.     cout << endl;
  107.  
  108.     return 0;
  109. }
RAW Paste Data