👤

Cum as putea pune doua siruri ( v[i] , w[j] ) intr-un al treilea? Sa formez un sir care sa contine atat sirul v[i] cat si w[j] .. ?

Multumesc !


Răspuns :

Răspuns:

#include <iostream>

using namespace std;

int main()

{

  int n,v[100001];

  cin>>n;

  for (int i=1;i<=n;++i)

      cin>>v[i];

  int m,z[100001],c[200002];

  cin>>m;

  for (int i=1;i<=m;++i)

     cin>>z[i];

 int i=1, j=1,k=1;

 while ((i<=n)&&(j<=m)) {

   if (v[i]<z[j]) { c[k]=v[i]; ++i;++k;}

   else { c[k]=z[j]; ++j;++k;}

 }

 if (i<=n){

   for (int p=i;p<=n;++p)

       {c[k]=v[p];++k;}

 }

 if (j<=m){

   for (int p=j;p<=m;++p)

           {c[k]=z[p];++k;}

 }

   for (int p=1; p<k;++p)

       cout<<c[p]<<" ";

   return 0;

}

Explicație:

e folosită metoda clasică "interclasare" a doi vectori ordonati crescător. Se generază vectorul al treilea crescător cu elementele din primii doi vectori