Уравновесен масив *

Да се напише програма, която позволява да се въведе размер на масив и стойностите на неговите елементи, и после го подрежда така, че стойностите на елементите да нарастват от началото до средата и след това отново да намаляват от средата до края.

Например при вход: 4 2 6 3 8 5 1 7 4 2 9
Да изведе: 2 3 4 6 8 9 7 5 4 2 1

По желание**: Да се подредят числата така, че да са възможно най-равномерно разпределени от двете страни – например така: Най-малкото е поставено първо отляво в масива, следващото по големина – първо отдясно в масива, третото по-големина е второ отляво надясно, четвъртото по големина е второ отдясно наляво и т.н. до средата.

Публикувано в 11а, 11в с етикети . Постоянна връзка.

2 Responses to Уравновесен масив *

  1. marant каза:

    #include
    #include

    using namespace std;

    int main(int argc, char *argv[])
    {
    int n;
    cout<>n;
    int a[n-1], i;
    for(i=0; i<n; i++)
    {
    cout<<"a["<<i<>a[i];
    }
    int swap;
    for (int i=0;i<n;i++)
    for (int j=0;ja[j+1]){
    swap=a[j];
    a[j]=a[j+1];
    a[j+1]=swap;
    }
    }

    for (int i=0;i<n;i++)
    for (int j=(n/2)-1;j<n-i-1;j++){
    if(a[j]<a[j+1]){
    swap=a[j+1];
    a[j]=a[j+1];
    a[j]=swap;
    }
    for(i=0;i<n;i++){
    cout<<a[i]<<" ";}
    cout<<endl;
    system("PAUSE");
    return EXIT_SUCCESS;
    }

Вашият коментар