Есть ответ 👍

Дан одномерный массив K, из P элементов. Отсортироваь данный массив по убыванию.

218
304
Посмотреть ответы 2

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

KateHe
4,7(56 оценок)

#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  

       }

   }

}

Объяснение:


100   должнобыть

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

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

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

Caktus Image

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

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

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

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

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

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

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

GTP TOP NEWS