Question #38464

Write a program that will take 10 integers from user in an array and sort first half of the array in ascending order and second half in descending order

Expert's answer

#include <iostream>
using namespace std;
int* Creating()
{
    int *ar = new int[10];
    cout << "Please enter 10 numbers\n";
    for (int i = 0; i < 10; i++)
        cin >> ar[i];
    return ar;
}
int* Ascending(int *ar, int n)
{
    for (int i = 0; i < n / 2; i++)
        for (int j = i; j > 0 && ar[j - 1] > ar[j]; j--)
            swap(ar[j - 1], ar[j]);
    return ar;
}
int* Descending(int* ar, int n)
{
    for (int i = n / 2; i < n; i++)
        for (int j = i; j > n / 2 && ar[j] > ar[j - 1]; j--)
            swap(ar[j], ar[j - 1]);
    return ar;
}
int main()
{
    int *ar = Creating();
    for (int i = 0; i < 10; i++)
        cout << ar[i] << ' ';
    cout << endl;
    Ascending(ar, 10);
    Descending(ar, 10);
    for (int i = 0; i < 10; i++)
        cout << ar[i] << ' ';
    cout << endl;
    return 0;
}
LATEST TUTORIALS
APPROVED BY CLIENTS