Anna3O0

Interclasare 2

Aug 2nd, 2019
44
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. #include <iostream>
  3. #include <fstream>
  4. using namespace std;
  5. ifstream fin("interclasare.in");
  6. ofstream fout("interclasare.out");
  7.  
  8.  
  9. int a[100], b[100], c[205];
  10.  
  11. int main() {
  12.   int n, m;
  13.  
  14.   fin >> n;
  15.  
  16.   for (int i = 1; i <= n; i++)
  17.     fin >> a[i];
  18.  
  19.   fin >> m;
  20.  
  21.   for (int j = 1; j <= m; j++)
  22.     cin >> b[j];
  23.  
  24.   int i = 1, j = 1, k = 1;
  25.  
  26.   while (i <= n && j <= m) {
  27.  
  28.     if (a[i] < b[j]) { /// avansam in vectoru a
  29.       c[k] = a[i];
  30.       i++;
  31.       k++;
  32.     } else if (a[i] > b[j]) { /// avansam in vectoru b
  33.       c[k] = b[j];
  34.       j++;
  35.       k++;
  36.     } else { /// ambele elemente sunt egale si le trecem pe ambele in vectorul 2 si avansam si in a  si in b
  37.  
  38.       c[k] = a[i];
  39.       k++;
  40.       c[k] = b[j];
  41.       k++;
  42.       i++;
  43.       j++;
  44.     }
  45.  
  46.   }
  47.  
  48.   if (i <= n) {
  49.  
  50.     while (i <= n) {
  51.  
  52.       c[k] = a[i];
  53.       i++;
  54.       k++;
  55.     }
  56.   }
  57.  
  58.   if (j <= m) {
  59.     while (j <= m) {
  60.       c[k] = b[j];
  61.       j++;
  62.       k++;
  63.     }
  64.   }
  65.  
  66.   for (int i = 1; i <= k - 1; i++) {/// k va creste cu 1 deoarece la final avem k++ si mereu va fi cu 1 in fata de aia ne oprim la
  67.  
  68.       fout << c[i] << " ";
  69.       if(i%10==0)
  70.           fout<<endl;
  71.   }
  72.  
  73.   return 0;
  74. }
RAW Paste Data