Да се напише програма, която позволява да се въведе размер на масив и стойностите на неговите елементи, и после го подрежда така, че стойностите на елементите да нарастват от началото до средата и след това отново да намаляват от средата до края.
Например при вход: 4 2 6 3 8 5 1 7 4 2 9
Да изведе: 2 3 4 6 8 9 7 5 4 2 1
По желание**: Да се подредят числата така, че да са възможно най-равномерно разпределени от двете страни – например така: Най-малкото е поставено първо отляво в масива, следващото по големина – първо отдясно в масива, третото по-големина е второ отляво надясно, четвъртото по големина е второ отдясно наляво и т.н. до средата.
#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;
}
Мартине, забравил си да поставиш [c] и [/c] около програмата, качи я пак.