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

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

script1adsense2code
script1adsense3code

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

Напишите программу на C ++ для сортировки заданного несортированного массива целых чисел в форме волны.
Примечание. Массив имеет волновую форму, когда массив [0]> = массив [1] <= массив [2]> = массив [3] <= массив [4]> =. , , ,

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

Код C ++:

#include<iostream>
#include<algorithm>
using namespace std;
 
void swap_elements(int *a, int *b)
{
    int t = *a;
    *a = *b;
    *b = t;
}
 
void array_wave(int nums[], int n)
{
    sort(nums, nums+n);
 
    for (int i=0; i<n-1; i += 2)
        swap_elements(&nums[i], &nums[i+1]);
}
 
int main()
{
    int nums[] = {4, 5, 9, 12, 9, 22, 45, 7};
    int n = sizeof(nums)/sizeof(nums[0]);
    cout << "Original array: ";
    for (int i=0; i < n; i++) 
    cout << nums[i] <<" ";
    array_wave(nums, n);
    cout << "\nWave form of the said array: ";
    for (int i=0; i<n; i++)
       cout << nums[i] << " ";
    return 0;
}

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

 Исходный массив: 4 5 9 12 9 22 45 7 
Форма волны указанного массива: 5 4 9 7 12 9 45 22 

Блок - схема:

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

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

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

Previous: написать программу на C ++, чтобы найти следующий больший элемент каждого элемента данного массива целых чисел. Игнорируйте те элементы, которые не имеют большего элемента.
Далее: Напишите программу на C ++, чтобы найти наименьший элемент, отсутствующий в отсортированном массиве.

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

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


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code