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 !
niorbaana:
Buna ! Nu
Răspunsuri la întrebare
Răspuns de
1
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
https://pastebin.com/YZJixzU6
Alte întrebări interesante
Chimie,
8 ani în urmă
Matematică,
8 ani în urmă
Istorie,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă