Предмет:
ИнформатикаАвтор:
haileyclark#include <iostream>
using namespace std;
int main() {
const int n = 5;
const int m = 7;
int A[n] = {1, 3, 5, 7, 9};
int B[m] = {2, 4, 6, 8, 10, 11, 12};
int C[n+m];
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++];
}
}
while (i < n) {
C[k++] = A[i++];
}
while (j < m) {
C[k++] = B[j++];
}
for (int l = 0; l < n+m; ++l) {
cout << C[l] << " ";
}
cout << endl;
return 0;
}
Первым шагом мы объявляем размеры массивов и сами массивы A и B. Массив C будет иметь размер n+m, то есть он будет содержать все элементы A и B.
Затем мы объявляем три переменные-счетчика: i для A, j для B и k для C.
Затем мы начинаем проходить по обоим массивам и сравнивать элементы. Если A[i] меньше, чем B[j], мы добавляем A[i] в C[k] и увеличиваем i и k на 1. Если B[j] меньше, чем A[i], мы добавляем B[j] в C[k] и увеличиваем j и k на 1. Если элементы равны, мы добавляем любой из них в C[k] и увеличиваем их счетчики.
После того, как мы прошли по всем элементам A и B, возможно, что один из них еще остался нескопированным. Таким образом, мы копируем оставшиеся элементы в C.
Наконец, мы выводим элементы C на экран.
Автор:
chewylgjqДобавить свой ответ
Предмет:
МатематикаАвтор:
coke zeroОтветов:
Смотреть