Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*se dau doi vectori ordonati crescatori unul cu nr pare unul cu numere impare
- interclasati cei doi vectori astfel incat noul vector obtinut sa nu aiba doua elemente consecutive de aceeasi
- paritate*/
- #include <iostream>
- #include <fstream>
- using namespace std;
- ifstream f("date.in");
- int v1[100],v2[100],w[200],n,m,k;
- void citire(int v[100], int &nr)
- {
- int i;
- f>>nr;
- for(i=1;i<=nr;i++)
- f>>v[i];
- }
- void interclasare()
- {
- int i,j;
- i=1;j=1;
- if(v1[i]<v2[j])
- {
- k++;
- w[k]=v1[i];
- i++;
- }
- else
- {
- k++;
- w[k]=v2[j];
- j++;
- }
- while(i<=n&&j<=m)
- if(v1[i]<v2[j])
- {if(v1[i]%2!=w[k]%2)
- if(v1[i]>w[k])
- {
- k++;
- w[k]=v1[i];
- i++;
- }
- else
- i++;
- else
- i++;
- }
- else
- {
- if(v2[j]%2!=w[k]%2)
- if(v2[j]>w[k])
- {
- k++;
- w[k]=v2[j];
- j++;
- }
- else
- j++;
- else
- j++;
- }
- if(i<=n&&w[k]%2!=v1[i]%2)
- {while(v1[i]<w[k]&&i<=n)
- i++;
- if(i<=n)
- {
- k++;
- w[k]=v1[i];
- }
- }
- else
- if(j<=m&&w[k]%2!=v2[j]%2)
- {
- while(v2[j]<w[k]&&j<=m)
- j++;
- if(j<=m)
- {
- k++;
- w[k]=v2[j];
- }
- }
- }
- void afis()
- {
- int i;
- for(i=1;i<=k;i++)
- cout<<w[i]<<" ";
- }
- int main()
- {
- citire(v1,n);
- citire(v2,m);
- interclasare();
- afis();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement