Есть ответ 👍

написать код на c++ Мальчик Егор на досуге пишет свой текстовый редактор Блокнот++. В базовые возможности редактора уже заложено два основных режима, которые позволяют быстрее набирать текст. В первом режиме текстовый редактор бибикает при нажатии любой клавиши. Во втором режиме текстовый редактор портит текст при нажатии любой клавиши. При этом Егор решил, что его редактор будет портить текст следующим образом: он переставит все символы так, что сначала будут стоять символы стоявшие на четных местах (0, 2, 4, 6, 8...), а затем символы, стоящие на нечетных местах Егору, написав функцию int* rearrange(int *A, int Asize), которая будет переставлять все элементы указанным образом и возвращать новый массив. Затем смоделируйте вывод редактора, если пользователь нажмет на клавишу во втором режиме K раз. Формат входных данных В первой строке дано целое число N (1 ≤ N ≤ 100) — количество элементов в массиве. В следующей строке заданы целые числа, не превосходящие 230 по абсолютной величине. В последней строке дается число K (1 ≤ K ≤ 50) — количество раз, которые массив «портится». Формат выходных данных В выходные данные требуется вывести массив K раз (после каждого преобразования). входные данные 10 1 2 3 4 5 6 7 8 9 10 3 выходные данные 1 3 5 7 9 2 4 6 8 10 1 5 9 4 8 3 7 2 6 10 1 9 8 7 6 5 4 3 2 10

281
352
Посмотреть ответы 2

Ответы на вопрос:


Код:

#include <iostream>

int* rearrange(int *A, int Asize) {

   int * result = new int[Asize];

   int p = 0;

   for (int i = 0; i < Asize; i += 2) {

       result[p] = A[i];

       ++p;

   }

   for (int i = 1; i < Asize; i += 2) {

       result[p] = A[i];

       ++p;

   }

   return result;

}

void print_arr(const int *A, int Asise) {

   for (int i = 0; i < Asise; ++i) {

       std::cout << A[i] << " ";

   }

}

int* change_it_k_times(int * const A, int Asize, int K) {

   int * result = A;

   for (auto i = 0; i < K; ++i) {

       result = rearrange(result, Asize);

       print_arr(result, Asize);

   }

   return result;

}

template <typename T>

void get_sequence(T* A, int N) {

   for (auto i = 0; i < N; ++i) {

       std::cin >> A[i];

   }

}

int main () {

   int N, K;

   std::cin >> N;

   auto A = new int[N];

   get_sequence(A, N);

   std::cin >> K;

   auto R = change_it_k_times(A, N, K);

   delete[] A;

   delete[] R;

   return 0;

}


написать код на c++ Мальчик Егор на досуге пишет свой текстовый редактор Блокнот++. В базовые возмож
написать код на c++ Мальчик Егор на досуге пишет свой текстовый редактор Блокнот++. В базовые возмож
написать код на c++ Мальчик Егор на досуге пишет свой текстовый редактор Блокнот++. В базовые возмож

A: = -15 b : = 10 вот такие они примут значения, и какой-то фрагмент кода странный, пришлось поправить

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS