кодесурса
«C ++

Упражнения на C ++: сортировка массива различных элементов по абсолютной разнице элементов массива и по заданному значению

script1adsense2code
script1adsense3code

C ++ Array: Упражнение 17 с решением

Напишите программу на C ++ для сортировки (в порядке убывания) массива различных элементов в соответствии с абсолютной разницей элементов массива и с заданным значением.

Пример решения:

Код C ++:

#include <bits/stdc++.h>
using namespace std;
void rearrange_array_elements(int nums[], int n, int x)
{
    multimap<int, int> m;
 
    for (int i = 0 ; i < n; i++)
        m.insert(make_pair(abs(x-nums[i]),nums[i]));
    int i = 0;
    for (auto t = m.begin(); t != m.end(); t++)
        nums[i++] = (*t).second ;
}
 
 
int main()
{
    int nums[] = {0, 9, 7, 2, 12, 11, 20}; 
    int n = sizeof(nums)/sizeof(nums[0]);
   cout << "Original array: ";
   int x = 12;
    for (int i=0; i < n; i++) 
    cout << nums[i] <<" ";
    rearrange_array_elements(nums, n, x);
 
    printf("\nArray elements after rearrange: ");
      for (int i=0; i < n; i++) 
      cout << nums[i] <<" ";
        return 0;
      
}

Пример вывода:

 Исходный массив: 0 9 7 2 12 11 20 
Элементы массива после перестановки: 12 11 9 7 20 2 0     

Блок - схема:

«Блок-схема:

Редактор кода C ++:

Внесите свой код и комментарии через Disqus.

Предыдущий: Напишите программу на C ++ для сортировки заданного массива 0, 1 и 2. В последнем массиве сначала поместите все 0, а затем все 1 и 2.
Далее: Напишите программу на C ++ для перемещения всех отрицательных элементов массива целых чисел в конец массива без изменения порядка положительного элемента и отрицательного элемента.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code