print an array in zigzag order

int main() {
int a[7]={3,4,6,2,1,8,9};
int flag =0,n=3,i=0,k;
while(n)
{
    if(flag==0&&a[i]<a[i+1])
    {
     
      flag=1;
      i++;
    }
    else{
      k=a[i];
      a[i]=a[i+1];
      a[i+1]=k;
      i++;
     
    }
    if(flag==1&&a[i]>a[i+1])
    { 
        flag=0;
        i++;
    }
    else
    {
      k=a[i];
      a[i]=a[i+1];
      a[i+1]=k;
      i++;
     
    }
   
    n--;
}
for(i=0;i<7;i++)
{
  printf("%d\t",a[i]);
}

}
OUTPUT:

Comments

Popular posts from this blog

Finding the second largest in an array