#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 vozrastanie(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=rand()%100, m=rand()%100;
a=new int[n]; b=new int[m]; c=new int[n+m];
vvod_sl(a,n); vvod_sl(b,m);
vozrastanie(a,n);
vozrastanie(b,m);
cout<<"Массив A"<<endl; vivod(a,n);
cout<<"Массив B"<<endl; vivod(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 vozrastanie(int *x, int k)
{
int min,imin;
for (int uk=0; uk<k-1; uk++)
{
min=x[uk];
imin=uk;
for (int i=uk; i<k; i++)
if (x[i]<min)
{
min=x[i];
imin=i;
}
x[imin]=x[uk];
x[uk]=min;
}
}
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];
}
}
|