program to reverse elements of array - Computer Programming

Latest

C C++ Java Python Perl Programs Examples with Output -useful for Schools & College Students

Monday, April 4, 2011

program to reverse elements of array


//program to reverse elements of array


#include<iostream.h>
#include<conio.h>
#define MAX 5                //Array size=n+MAX

int *a,*b,n,N,temp,i,j,data,pos;                       //global variables

void sort(void )                 //Sorting function  begins
{

   clrscr();
   cout<<"\nArray elements are : ";
   for(i=0;i<n;i++)
      cout<<" "<<a[i];
   for(i=0;i<n;i++)
   {
      for(j=0;j<n-1-i;j++)
      {
if(a[j]>a[j+1])
{
   temp=a[j];
   a[j]=a[j+1];
   a[j+1]=temp;
}
      }
   }

   cout<<"\n\nSorted entries are : ";
   for(i=0;i<n;i++)
      cout<<"\n"<<"a["<<i<<"]="<<a[i];
}                                       //sorting func ends

void reverse(void )             //reverse func begins
{

   //reversing begins

   clrscr();
   cout<<"\nArray elements are : ";
   for(i=0;i<n;i++)
      cout<<" "<<a[i];
   for(i=0;i<n/2;i++)
   {
      temp=a[i];
      a[i]=a[n-1-i];
      a[n-1-i]=temp;
   }
   cout<<"\n\nReverse array is : \n";
   for(i=0;i<n;i++)
      cout<<" a["<<i<<"]="<<a[i]<<"\n";
   getch();
}                                       //reverse func ends

void insert(void )
{
   clrscr();
   cout<<"\nArray elements are : ";
   for(i=0;i<n;i++)
      cout<<" "<<a[i];

   cout<<"\nEnter data to be inserted and position (here position 2 has data="<<a[1]<<") : ";
   cin>>data>>pos;
   if(pos>N+MAX-1)
   {
      cout<<"\n\nCan't insert at this out of bound position !!";
      getch();
      return;
   }
   if(n==N+MAX)
   {
      cout<<"\n\nArray is full!!";
      getch();
      return;
   }
   else
   {
      for(i=n;i>pos-1;i--)
a[i]=a[i-1];

      a[i]=data;
      n++;
   cout<<"\n\nArray is : ";
   for(i=0;i<n;i++)
      cout<<"\n"<<"a["<<i<<"]="<<a[i];
   getch();
   return;
   }
}                                           //insert func ends



void del(void )                            //delete func begins
{
   clrscr();

   cout<<"\nArray elements are : ";
   for(i=0;i<n;i++)
      cout<<" "<<a[i];
   cout<<"\nEnter position where data has to be deleted : ";
   cin>>pos;
   if(pos>n-1)
   {
      cout<<"\nPosition doesn't exist !!";
      getch();
      return;
   }
   for(i=pos;i<n;i++)
   {
      a[i-1]=a[i];
   }
   n--;
   cout<<"\n\nArray is : ";
   for(i=0;i<n;i++)
      cout<<"\n"<<"a["<<i<<"]="<<a[i];
   getch();
}                                          //delete func ends

void merge(void )                          //merge func begins
{
   clrscr();
   cout<<"\nArray elements are : ";
   for(i=0;i<n;i++)
      cout<<" "<<a[i];

   int size;
   cout<<"\nEnter size of array to be merged : ";
   cin>>size;

   if(size+n>N+MAX)
   {
      cout<<"\nMax Size of array a has exceeded !!";
      getch();
      return;
   }
   b=new int[size];

   for(i=0;i<size;i++)
   {
      cout<<"\nEnter element b["<<i<<"] : ";
      cin>>b[i];

   }

   for(i=0;i<size;i++)
      a[n+i]=b[i];
   delete []b;
   n=n+size;
   cout<<"\n\nArray is : ";
   for(i=0;i<n;i++)
      cout<<"\n"<<"a["<<i<<"]="<<a[i];
   getch();
}                                              //merge func ends


void main()
{
   clrscr();
   int choice;
   cout<<"\nEnter no. of array elements : ";
   cin>>n;
   N=n;

   a=new int[n+MAX];
   for(i=0;i<n;i++)
   {
      cout<<"\nEnter element a["<<i<<"] : ";
      cin>>a[i];

   }

   do
   {
      cout<<"\nEnter operation to be performed (0:exit,1:insertion,2:deletion,3:sorting,4:merging,5:reversing) : ";
      cin>>choice;
      if(choice==0)
break;
      if(choice<0||choice>5)
continue;
      if(choice==1)
insert();
      if(choice==2)
del();
      if(choice==3)
sort();
      if(choice==4)
merge();
      if(choice==5)
reverse();

   }while(choice!=0);

}

No comments:

Post a Comment