Технология программирования. Базовые конструкции C/C++. Липачев Е.К. - 45 стр.

UptoLike

Составители: 

45
for (int i=0;i<M;i++) b[i] = 1+rand()%12;
// образуем массив присоединением массива b к a
int k=0;
for (int i=0;i<N;i++) c[k++] = a[i];
for (int i=0;i<M;i++) c[k++] = b[i];
// вывод результатов
cout<<"\n a: ";
for (int i=0;i<N;i++) cout<<' '<<a[i];
cout<<"\n b: ";
for (int i=0;i<M;i++) cout<<' '<<b[i];
cout<<"\n c: ";
for (int i=0;i<N+M;i++) cout<<' '<<c[i];
cout<<"\n";
Пример. Слияние двух упорядоченных массивов
a[0]≤a[1]≤…≤a[N] и b[0]≤b[1]≤…≤b[N].
// Слияние двух упорядоченных массивов
const int N=9;
const int M=11;
int a[N], b[M], c[N+M];
// инициализация массивов
for (int i=0;i<N;i++) a[i] = 2*i+1;
for (int i=0;i<M;i++) b[i] = 2*(i+1);
int i,j,k;
i=j=k=0;
while ((i<N) && (j<M))
if (a[i]<b[j]) c[k++] = a[i++];
else c[k++] = b[j++];
// остаток массива a:
while (i<N) c[k++] = a[i++];
// остаток массива b:
while (j<M) c[k++] = b[j++];
for (int i=0;i