Sorting array and Print first half in ascending & seconf half in descending:

#include <stdio.h>
int main()
{
    int a[20],i,temp,j,n;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
     for(i=0;i<n;i++)
    {
        for(j=i+1;j<n;j++)
        {
            if(a[i]>a[j])
            {
                temp=a[i];
                a[i]=a[j];
                a[j]=temp;
            }
        }
    }
    for(i=0;i<n-1;i++)
{
for(j=0;j<n/2;j++)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}

for(j=n/2;j<n-1;j++)
{
if(a[j]<a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
    for(i=0;i<n;i++)
    {
        printf("%d ",a[i]);
    }
    return 0;
}

Comments

Popular Posts