#include <iostream>
#include <ctime>
using namespace std;
void vvod (int *x, int k);
void vvod_sl (int *x, int k);
void vivod (int *x, int k);
void sliyanie(int *a, int n, int *b, int m, int *c);
int main()
{
setlocale(LC_ALL, "Russian");
srand(time(0));
int *a,*b,*c,n,m;
cout<<"Введите количество элементов массива A"<<endl; cin>>n;
cout<<"Введите количество элементов массива B"<<endl; cin>>m;
a=new int[n];
b=new int[m];
c=new int[n+m];
cout<<"Введите массив A"<<endl; vvod(a,n);
cout<<"Введите массив B"<<endl; vvod(b,m);
sliyanie(a, n, b, m, c);
cout<<"Массив C"<<endl; vivod(c,n+m);
delete a; delete b; delete c;
system("pause");
return 0;
}
void vvod_sl(int *x, int k)
{
for (int i=0; i<k; i++) x[i]=rand()%90+10;
}
void vvod(int *x, int k)
{
for (int i=0; i<k; i++) cin >> x[i];
}
void vivod(int *x, int k)
{
for (int i=0; i<k; i++) cout << x[i]<<" ";
cout << endl;
}
void sliyanie(int *a, int n, int *b, int m, int *c)
{
int i=0,j=0,k=0;
while ((i<n) && (j<m))
{
if (a[i]<=b[j])
c[k++]=a[i++];
else
c[k++]=b[j++];
}
if (i==n)
{
for (int p=j;p<m;p++)
c[k++]=b[p];
}
else if (j==m)
{
for (int p=i;p<n;p++)
c[k++]=a[p];
}
}
|