C++ Exercises: Sort a given unsorted array of integers, in wave form
C++ Array: Exercise-9 with Solution
Write a C++ program to sort a given unsorted array of integers, in wave form.
Note: An array is in wave form when array[0] >= array[1] <= array[2] >= array[3] <= array[4] >= . . . .
Sample Solution:
C++ Code :
#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;
}
Sample Output:
Original array: 4 5 9 12 9 22 45 7 Wave form of the said array: 5 4 9 7 12 9 45 22
Flowchart:

C++ Code Editor:
Contribute your code and comments through Disqus.
Previous: Write a C++ program to find the next greater element of every element of a given array of integers. Ignore those elements which have no greater element.
Next: Write a C++ program to find the smallest element missing in a sorted array.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
C++ Programming: Tips of the Day
Can I assume (bool)true == (int)1 for any C++ compiler?
According to the standard, you should be safe with that assumption. The C++ bool type has two values - true and false with corresponding values 1 and 0.
The thing to watch about for is mixing bool expressions and variables with BOOL expression and variables. The latter is defined as FALSE = 0 and TRUE != FALSE, which quite often in practice means that any value different from 0 is considered TRUE.
A lot of modern compilers will actually issue a warning for any code that implicitly tries to cast from BOOL to bool if the BOOL value is different than 0 or 1
Ref: https://bit.ly/3PWhs5N
- Exercises: Weekly Top 12 Most Popular Topics
- Pandas DataFrame: Exercises, Practice, Solution
- Conversion Tools
- JavaScript: HTML Form Validation
- SQL Exercises, Practice, Solution - SUBQUERIES
- C Programming Exercises, Practice, Solution : For Loop
- Python Exercises, Practice, Solution
- Python Data Type: List - Exercises, Practice, Solution
- C++ Basic: Exercises, Practice, Solution
- SQL Exercises, Practice, Solution - exercises on Employee Database
- SQL Exercises, Practice, Solution - exercises on Movie Database
- SQL Exercises, Practice, Solution - exercises on Soccer Database
- C Programming Exercises, Practice, Solution : Recursion