Вопрос задан 21.02.2019 в 01:06. Предмет Информатика. Спрашивает Галимова Диана.

Массив содержит четное количество элементов. напишите программу которая сортирует первую половину

массива по возрастанию а вторую по убыванию. Каждый элемент должен остаться в "своей" половине C++ пожалуйста
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Журавель Вероника.
#include <algorithm>
#include <iostream>
#include <vector>

bool ToLess(int a, int b) {
    return a > b;
}

int main() {
    int count;
    std::cin >> count;
    std::vector<int> vectorOfNombers(count);
    for (size_t i = 0; i != count; ++i) {
        std::cin >> vectorOfNombers[i];
    }

    sort(vectorOfNombers.begin(), vectorOfNombers.begin() + count / 2 - 1);           sort(vectorOfNombers.begin() + count / 2, vectorOfNombers.end(), ToLess);

    for (size_t i = 0; i != count; ++i) {
          std::cout << vectorOfNombers[i] << " ";
     }
}
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Вот пример программы на C++, которая сортирует первую половину массива по возрастанию, а вторую половину по убыванию. Каждый элемент остается в своей половине:

```cpp #include #include

void sortArray(int arr[], int size) { int half = size / 2;

// Сортировка первой половины массива по возрастанию std::sort(arr, arr + half);

// Сортировка второй половины массива по убыванию std::sort(arr + half, arr + size, std::greater()); }

int main() { int arr[] = {5, 2, 8, 1, 9, 3}; int size = sizeof(arr) / sizeof(arr[0]);

sortArray(arr, size);

std::cout << "Отсортированный массив: "; for (int i = 0; i < size; i++) { std::cout << arr[i] << " "; } std::cout << std::endl;

return 0; } ```

В этой программе мы используем функцию `std::sort` из стандартной библиотеки C++, чтобы отсортировать первую половину массива по возрастанию. Затем мы используем ту же функцию, но с аргументом `std::greater()`, чтобы отсортировать вторую половину массива по убыванию.

Примечание: В приведенном примере массив имеет фиксированный размер и содержит только целые числа. Вы можете изменить размер массива и тип элементов в соответствии с вашими потребностями.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос