Answer:
The cpp program for the given scenario is as follows.
#include <iostream>
#include <iterator>
using namespace std;
int main()
{
//boolean variable declared and initialized
bool sorted=true;
//integer array declared and initialized
int arr[] = {1, 2, 3, 4, 5};
//integer variables declared and initialized to length of the array, arr
int len = std::end(arr) - std::begin(arr);
//array tested for being sorted
for(int idx=0; idx<len-1; idx++)
{
if(arr[idx] < arr[idx+1])
{
sorted=false;
break;
}
}
//message displayed
if(sorted == false)
cout<< "UNSORTED" <<endl;
else
cout<< "UNSORTED" <<endl;
return 0;
}
OUTPUT
UNSORTED
Explanation:
1. An integer array, arr, is declared and initialized as shown.
int arr[] = {1, 2, 3, 4, 5};
2. An integer variable, len, is declared and initialized to the size of the array created above.
int len = std::end(arr) - std::begin(arr);
3. A Boolean variable, sorted, is declared and initialized to true.
bool sorted=true;
4. All the variables and array are declared inside main().
5. Inside for loop, the array, arr, is tested for being sorted or unsorted. The for loop executes over an integer variable, idx, which ranges from 0 till the length of the array, arr.
6. The array is assumed to be sorted if all the elements of the array are in descending order.
7. If the elements of the array are in ascending order, the Boolean variable, sorted, is assigned the value false and for loop is exited using break keyword. The testing is done using if statement.
8. Based on the value of the Boolean variable, sorted, a message is displayed to the user.
9. The program can be tested for any size of the array and for any order of the elements, ascending or descending. The program can also be tested for array of other numeric data type including float and double.
10. All the code is written inside the main().
11. The length of the array is found using begin() and end() methods as shown previously. For this, the iterator header file is included in the program.