C++. реализовать программу, которая принимает на вход количество элементов массива, выполняет генерацию 3 массивов отсортированных по возрастанию, по убыванию и случайным образом соответственно. сортирует каждый из массивов используя сортировку "выбором". после выполнения выводит данные отчета по выполнению сортировки в формате: как отсортирован массив, время, занявшее на сортировку каждым из методов.
160
369
Ответы на вопрос:
Не понятно, что означает "время, занявшее на сортировку каждым из методов" - метод в всего 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 мс
Аэто точно по информатике? ну да ладно. 1. расстояние, которое пройдет первый автомобиль s1 = v1*t 2. расстояние, которое пройдет второй автомобиль s2 = s - v2*t 3. расстояние между автомобилями к моменту времени т будет равно s1-s2 или ds = v1*t-(s-v2*t)
Популярно: Информатика
-
Diman4ik35519.08.2022 23:38
-
совуша200728.04.2020 02:45
-
гора7р10.11.2022 13:35
-
оооопп14.03.2021 23:11
-
vika208411.04.2023 17:49
-
Саша7777777722.09.2022 06:30
-
muslim3815.04.2020 14:21
-
4chanus20.02.2022 15:37
-
LediLizonka22.09.2022 21:39
-
ПРОКОФИЙ200503.12.2021 22:33