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

Упражнения на C ++: перестановка заданного отсортированного массива натуральных чисел

script1adsense2code
script1adsense3code

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

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

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

Код C ++:

#include <bits/stdc++.h>
using namespace std;
 
void rearrange_max_min(int nums[], int n)
{
    int temp[n];
    int small_num=0, large_num=n-1;
    int result = true;
 
    for (int i=0; i<n; i++)
    {
        if (result)
            temp[i] = nums[large_num--];
        else
            temp[i] = nums[small_num++];
 
        result = !result;
    }
 
     for (int i=0; i<n; i++)
        nums[i] = temp[i];
}
 
int main()
{
    int nums[] = {0, 1, 3, 4, 5, 6, 7, 8, 10}; 
    int n = sizeof(nums)/sizeof(nums[0]);
   	cout << "Original array: ";
    for (int i=0; i < n; i++) 
    cout << nums[i] <<" ";
    rearrange_max_min(nums, n);
 
    printf("\nArray elements after rearranging: ");
      for (int i=0; i < n; i++) 
      cout << nums[i] <<" ";
        return 0;
     
}

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

 Исходный массив: 0 1 3 4 5 6 7 8 10 
Элементы массива после перестановки: 10 0 8 1 7 3 6 4 5    

Блок - схема:

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

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

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

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

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

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


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code