• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Алгоритм Сортировки Массива

  • Автор темы freshcot
  • Дата начала
F

freshcot

Здравствуйте. Помогите решить задачу по С++.
Нужно отсортировать элементы массива по особенному.
Например, есть э-ты массива: 1.2324 -9.432 1.0237 0.12414
Нужно, чтобы при сортировке вышло: -9.432 0.12414 1.2324 1.0237
То есть, чтобы сначала шли все, меньше единицы (но в том же порядке, что были раньше!) а потом все остальные (в том же порядке!)
И ещё, реализована сортировка должна быть таким способом:

C++:
// определение функции упорядочения массива по убыванию
void F_LgToSm(double ar_in[], const int n_dim)
{
for (int j=0; j < n_dim; j++)
{
// выбор наибольшего среди элементов с номерами j, j+1, ..., n_dim
int n_mx = j; // инициализация - принимаем за наибольший j-й элемент
for (int i = j + 1; i < n_dim; i++)
if (ar_in[i] > ar_in[n_mx])
n_mx = i;
//		else continue; // случай, когда j-ый оказался наибольшим

// обмен элементов с номерами j и n_mx
double aux = ar_in[j]; 	// переменная aux - для промежуточных значений
ar_in[j] = ar_in[n_mx];
ar_in[n_mx] = aux;
}
}
Т.е., использовать можно только один массив.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!