Есть ответ 👍

C++. реализовать программу, которая принимает на вход количество элементов массива, выполняет генерацию 3 массивов отсортированных по возрастанию, по убыванию и случайным образом соответственно. сортирует каждый из массивов используя сортировку "выбором". после выполнения выводит данные отчета по выполнению сортировки в формате: как отсортирован массив, время, занявшее на сортировку каждым из методов.

165
287
Посмотреть ответы 2

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


Не понятно, что означает "время,  занявшее на сортировку каждым из методов" - метод в всего 1.программе нужно сказать количество элементов в массиве, после этого она выведет необходимую информацию. если нужен вывод самих массивов, раскомментируйте соответствующие строки.#include < iostream> #include < ctime> #include < cstdlib> #include < locale.h>   void selection_sort(int *arr, int n, std: : string name){    /*std: : cout < < "неотсортированный массив " < < name < < std: : endl;     for (int i = 0; i < n; i++)        std: : cout < < arr[i] < < " ";     std: : cout < < std: : endl; */    std: : clock_t c_start = std: : clock();     for (int i = 0; i < n - 1; i++)    {        int ind_min = i;         for (int j = i + 1; j < n; j++)            if (arr[j] < arr[ind_min]) ind_min = j;         if (ind_min ! = i) {            int t = arr[ind_min];             arr[ind_min] = arr[i];             arr[i] = t;         }    }    std: : clock_t c_end = std: : clock();     std: : cout < < "отсортированный массив " < < name < < " (сортировка выбором)"< < std: : endl;     /*for (int i = 0; i < n; i++)        std: : cout < < arr[i] < < " ";     std: : cout < < std: : endl; */    float time = 1000.0 * (c_end-c_start) / clocks_per_sec;     std: : cout < < "времени затрачено: " < < time < < " мс" < < std: : endl; }  int main(){    setlocale(lc_all, "rus");     int n;     std: : cout < < "число элементов массива: ";     std: : cin > > n;     int *arr = new int[n];     arr[0] = 0;     for (int i = 1; i < n; i++)        arr[i] = arr[i-1] + rand() % 3;     selection_sort(arr, n, "[отсортирован по возрастанию]");     arr[0] = 10000;     for (int i = 1; i < n; i++)        arr[i] = arr[i-1] - rand() % 3;     selection_sort(arr, n, "[отсортирован по убыванию]");     for (int i = 0; i < n; i++)        arr[i] = rand() % 10000;     selection_sort(arr, n, "[случайный массив]");     return 0; }пример работы: число элементов массива: 30000отсортированный массив [отсортирован по возрастанию] (сортировка выбором)времени затрачено: 1760 мсотсортированный массив [отсортирован по убыванию] (сортировка выбором)времени затрачено: 2838 мсотсортированный массив [случайный массив] (сортировка выбором)времени затрачено: 1789 мс
ladychoco
4,6(72 оценок)

Исходный массив: 1 2 3 4 5 6 7 8 9 10 11 далее, каждому элементу начиная с нулевого, присваиваем значение массива с таким же индексом, но считая с конца и получаем: 11 10 9 8 7 6 7 8 9 10 11

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

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

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

Caktus Image

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

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

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

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

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

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

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

GTP TOP NEWS