• Дано два масиви, упорядкованi за зростанням: А[n] та [m]. Сформуйте масив С[n+m], що складається з елементів масивів А і В, упорядкований за зростанням. Використовуйте синтаксис покажчиків.n=5, m=7;c++​

Ответы 1

  • #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
    • 1 год назад
    • 2
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years