complete programs on arrey
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
void sort_asc(int [],int);
void sort_dsc(int [],int);
void search_lin(int [],int);
void search_bin(int [],int);
void insert(int [],int);
void delet(int [],int);
void merge(int [], int);
void display(int [],int);
void menu(int [], int);
void main()
{
int n, a[50],b[50],c[100],i;
clrscr();
printf("Enter no. of values:");
scanf("%d",&n);
printf("Enter %d values:",n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
menu(a,n);
}
void menu(int a[50],int n)
{
int op;
clrscr();
printf("t.::Select your operation::.n");
printf("tt 1. Sortn");
printf("tt 2. Linear Searchn");
printf("tt 3. Binary Searchn");
printf("tt 4. Insertn");
printf("tt 5. Deleten");
printf("tt 6. Mergen");
printf("tt 7. Exitn");
printf("Enter your choice:");
scanf("%d",&op);
switch(op)
{
case 1:
clrscr();
printf("nt.::Select option::.n");
printf("1. Ascending Ordern");
printf("2. Descending Ordern");
printf("3. Back to main menun");
printf("Enter your choice:");
scanf("%d",&op);
switch(op)
{
case 1:
sort_asc(a,n);
break;
case 2:
sort_dsc(a,n);
break;
case 3:
menu(a,n);
break;
default:
clrscr();
printf("Invalid option....");
printf("nPress any key to go back to main menu...");
getch();
menu(a,n);
break;
}
break;
case 2:
search_lin(a,n);
break;
case 3:
search_bin(a,n);
break;
case 4:
insert(a,n);
break;
case 5:
delet(a,n);
break;
case 6:
merge(a,n);
break;
case 7:
exit(0);
break;
default:
clrscr();
printf("nnttInvalid operation....");
printf("nPress any key to go back to main menu.....");
getch();
menu(a,n);
break;
}
}
void sort_asc(int a[],int n)
{
int i,j, tmp,t[50];
clrscr();
for(i=0;i<n;i++)
t[i]=a[i];
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(a[i]>a[j])
{
tmp=a[i];
a[i]=a[j];
a[j]=tmp;
}
}
}
printf("nOriginal array is:n");
display(t,n);
printf("nSorted array is:n");
display(a,n);
printf("nPress any key to go back to main menu....");
getch();
menu(a,n);
}
void sort_dsc(int a[],int n)
{
int i,j, tmp,t[50];
clrscr();
for(i=0;i<n;i++)
t[i]=a[i];
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(a[i]<a[j])
{
tmp=a[i];
a[i]=a[j];
a[j]=tmp;
}
}
}
printf("nOriginal array is:n");
display(t,n);
printf("nSorted array is:n");
display(a,n);
printf("nPress any key to go back to main menu....");
getch();
menu(a,n);
}
void search_lin(int a[],int n)
{
int i,val,t[50];
clrscr();
printf("Enter value to search:");
scanf("%d",&val);
for(i=0;i<n;i++)
t[i]=a[i];
for(i=0;i<n;i++)
{
if(a[i]==val)
{
printf("n%d found at %d position.",val,i+1);
break;
}
}
if(i==n)
{
printf("%d not found",val);
}
printf("nPress any key to go back to main menu....");
getch();
menu(a,n);
}
void search_bin(int a[],int n)
{
int i,j,tmp, first, last, middle, val,t[50];
clrscr();
for(i=0;i<n;i++)
t[i]=a[i];
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(a[i]>a[j])
{
tmp=a[i];
a[i]=a[j];
a[j]=tmp;
}
}
}
printf("nnEnter value to searchn");
scanf("%d",&val);
printf("nOriginal array is:n");
display(a,n);
first = 0;
last = n - 1;
middle = (first+last)/2;
while( first <= last )
{
if ( a[middle] < val )
first = middle + 1;
else if ( a[middle] == val )
{
printf("n%d found at position %d.n", val, middle+1);
break;
}
else
last = middle - 1;
middle = (first + last)/2;
}
if ( first > last )
printf("nNot found! %d is not present in the list.n", val);
printf("nPress any key to go back to main menu....");
getch();
menu(a,n);
}
void insert(int a[],int n)
{
int element,i,pos, t[50];
for(i=0;i<n;i++)
t[i]=a[i];
printf("n Enter the element to be inserted :");
scanf("%d",&element);
printf("n Enter the location");
scanf("%d",&pos);
for(i=0;i<n;i++)
t[i]=a[i];
for(i = n;i >= pos ; i--)
a[i] = a[i-1];
n++;
a[pos-1] = element;
printf("nOriginal array is:n");
display(t,n-1);
printf("nArray after inserting a value is:n");
display(a,n);
printf("nnPress any key to go back to main menu....");
getch();
menu(a,n);
}
void delet(int a[],int n)
{
int i,j,k,vd;
clrscr();
printf("nOriginal array is : ");
display(a,n);
printf("nEnter value to delete:");
scanf("%d",&vd);
printf("nUpdated array is : ");
for(i=0;i<n;)
{
if(a[i]==vd)
{
for(k=i;k<n;k++)
a[k]=a[k+1];
n--;
}
else
i++;
}
display(a,n);
printf("nnPress any key to go back to main menu....");
getch();
menu(a,n);
}
void merge(int a[], int n)
{
int b[50],c[100],n1,i,j,t[50];
clrscr();
for(i=0;i<n;i++)
t[i]=a[i];
printf("Enter no of elements in second array:");
scanf("%d",&n1);
for(i=0;i<n1;i++)
{
scanf("%d",&b[i]);
}
for(i=0,j=0;i<n+n1;i++)
{
if(i<n)
c[i]=a[i];
else
{
c[i]=b[j];
j++;
}
}
printf("nFirst array is:n");
display(t,n);
printf("nSecond array is:n");
display(b,n1);
printf("nMerged array is:n");
display(c,n+n1);
printf("nnPress any key to go back to main menu....");
getch();
menu(a,n);
}
void display(int a[],int n)
{
int i;
for(i=0;i<n;i++)
{
printf("%d ",a[i]);
}
}
