Дан одномерный массив K, из P элементов. Отсортироваь данный массив по убыванию.
Ответы на вопрос:
#include <iostream> // подключаем библиотеку ввода-вывода
using namespace std; // объявляем пространство имен std
void insertSort(int[], int); // прототип функции сортировки
int main() // функция main выполняется первой
{
setlocale(LC_CTYPE, "Russian"); // русифицируем вывод
cout << "Введите кол-во элементов: ";
int p;
cin >> p;
int *k = new int[p]; // объявляем одномерный массив
cout << "Одномерный массив:" << endl;
for (int i = 0; i < p; i++)
{
k[i] = 5 + rand() % 40; //заполняем массив случайными числами
cout << "k[" << i << "] = " << k[i] << endl; // выводим массив
}
cout << endl;
cout << "Сортировка массива вставками по убыванию:"<<endl;
insertSort(k, p); // сортируем массив
for (int i = 0; i < p; i++)
{
cout << "k[" << i << "] = " << k[i] << endl; // выводим массив
}
cout << endl;
delete[]k;
return 0; // успешное окончание программы
} // конец функции main
// функция сортировки вставками по убыванию
void insertSort(int c[], int d)
{ // c[] - массив для сортировки, d - количество элементов массива
int save, // переменная для хранения элемента сортируемого массива
iPred; // индекс предыдущего элемента
// цикл алгоритма начинается с 1-го элемента
// поскольку массив, состоящий из одного элемента является
// отсортированным и уже относительно него вставляются остальные
for (int i = 1; i < d; i++)
{
save = c[i]; // инициализируем переменную текущим значением элемента
iPred = i - 1; // запоминаем индекс предыдущего элемента массива
//вложенный цикл ищет место для вставки, меняя местами элементы c[iPred+1] и c[iPred]
while (iPred >= 0 && c[iPred] < save)
{
c[iPred + 1] = c[iPred]; // переставляем элемент массива
c[iPred] = save; // через save
iPred--; // декрементируем индекс iPred
}
}
}
Объяснение:
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
rfudedw0822.06.2023 02:37
-
sirozazuruhin21.08.2020 00:50
-
SecretGuest2303.05.2023 13:07
-
dalakoff03.07.2021 03:51
-
УмнаяДебилка11.09.2021 03:09
-
спартак37103.01.2022 10:34
-
kycokbatona20.04.2021 14:20
-
KarenXacul8019.10.2021 10:31
-
markelovakristi25.01.2023 00:32
-
СулеймановаНигяр28.03.2021 21:12
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.