You are on page 1of 8

SHELL SORT

#include<stdio.h>
#include<conio.h>
void shellsort(int a[],int n)
{
int tmp,i,j,k;
for(i=(n+1)/2;i>=1;i/=2)
{
for(j=i;j<=n;j++)
{
tmp=a[j];
k=j-1;
while(k>=0 && tmp<a[k])
{
a[k+i]=a[k];
k=k-i;
}
a[k+i]=tmp;
}
}
}

void main()
{
int a[10],n,i;
clrscr();
printf("\n enter the size of array");
scanf("%d",&n);
printf("\n enter the array element");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
shellsort(a,n);
printf("sorted element");
for(i=0;i<n;i++)
printf("%d ",a[i]);
getch();
}

INSERTION SORT

#include<stdio.h>
#include<conio.h>
void insertionsort(int k[],int n)
{
int j,p,tmp;
for(p=1;p<n;p++)
{
tmp=k[p];
for(j=p;j>0&&k[j-1]>tmp;j--)
{
k[j]=k[j-1];
}
k[j]=tmp;
}
}

void main()
{
int a[10],n,i;
clrscr();
printf(" enter the array size");
scanf("%d",&n);
printf("enter the array element");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
insertionsort(a,n);
printf(" sorted element");
for(i=0;i<n;i++)
printf("%d ",a[i]);
getch();
}

TRAIN COMPARTMENT

//single linked list


#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
char cn1[10];

struct node
{
char comname[10];
struct node *next;
}*nnew,*start,*end,*temp,*prev;

void insertcompbeg();
void insertcompend();
//void insertpos(char cn1,int pos);
void ddelete();
int search();
int isempty();
void display();

int isempty()
{
return(start==NULL);
}

void insertcompbeg()
{
nnew=(struct node*)malloc(sizeof(struct node));
strcpy(nnew->comname,cn1);
if(isempty())
{
nnew->next=NULL;
end=start=nnew;
}
else
{
nnew->next=start;
start=nnew;
}
}

void insertcompend()
{
nnew=(struct node*)malloc(sizeof(struct node));
strcpy(nnew->comname,cn1);
if(isempty())
{
nnew->next=NULL;
end=start=nnew;
}
else
{
end->next=nnew;
end=nnew;
}
}

/*void insertpos(char cn1,int pos)


{
int i=1;
nnew=(struct node*)malloc(sizeof(struct node));
strcpy(nnew->comname,cn1);
if(isempty())
{
nnew->next=NULL;
end=start=nnew;
}
else
{
temp=start;
while(temp->next!=NULL&&i<pos-1)
{
temp=temp->next;
i++;
}
if(temp->next==NULL)
{
end->next=nnew;
nnew->next=NULL;
end=nnew;
}
else if(pos==1)
{
nnew->next=start;
start=nnew;
}
else
{
nnew->next=temp->next;
temp->next=nnew;
}
}
}
*/
void ddelete()
{
if(isempty())
{
printf("single linked list is empty");
getch();
}
else
{
temp=start;
while(temp->next!=NULL&&!(strcmp(temp->comname,cn1)))
{
prev=temp;
temp=temp->next;
}
}
if(temp->next!=NULL&&!(strcmp(temp->comname,cn1)))
{
printf("not found");
getch();
}
else
{
if(strcmp(start->comname,cn1))
start=start->next;
else if(strcmp(end->comname,cn1))
{
end=prev;
end->next=NULL;
}
else
{
prev->next=temp->next;
}
}
}
int search()
{
int i=1;
if(isempty())
{
printf("single linked list is empty");
getch();
return 0;
}
else
{
if(!(strcmp(start->comname,cn1)))
return i;
else
{
temp=start;
while(temp->next!=NULL&&!(strcmp(temp->comname,cn1)))
{
temp=temp->next;
i++;
}
return i;
}
}
}
void display()
{
if(isempty())
{
printf("single linked list is empty");
}
else
{
printf("The single linked list comnames are: ");
nnew=start;
printf("engine--");
while(nnew!=NULL)
{
printf("%s--->",nnew->comname);
nnew=nnew->next;
}
printf("NULL");
}
}

int main()
{

int pos1,input,position;
char c1[10]="1-ac";
char c2[10]="2-ac";
char c3[10]="3-ac";
char c4[10]="sl";
char c5[10]="ur";
clrscr();
printf("\t\t\t%c%c%c%c%c%c%c%c%c%c",4,4,4,4,4,4,4,4,4,4);
printf("RAIL WORKS PROGRAM");
printf("%c%c%c%c%c%c%c%c%c%c\n",4,4,4,4,4,4,4,4,4,4);

do
{
printf("\n---------------menu-----------\n");
printf("\n 1.insert compartment at begin");
printf("\n 2.insert compartment at end");
//printf("\n 3.insert middle");
printf("\n 4.ddelete");
//printf("\n 5.search");
printf("\n 6.display");
printf("\n Any other number to exit \n");
printf("\n------------------------------\n");

printf("\n Enter the choice:");


scanf("%d",&input);
switch(input)
{
case 1:
printf("Enter the comname:");
scanf("%s",cn1);
if((strcmp(c1,cn1))||(strcmp(c2,cn1))||(strcmp(c4,cn1))||(strcmp(c3,cn1))||(strcmp(c5,cn1)))
{
insertcompbeg();
display();
}
else
{
printf("INVALID COMPARTMENT NAME");
}
break;
case 2:
printf("Enter the comname:");
scanf("%s",cn1);
if((strcmp(c1,cn1))||(strcmp(c2,cn1))||(strcmp(c4,cn1))||(strcmp(c3,cn1))||(strcmp(c5,cn1)))
{
insertcompend();
display();
}
else
{
printf("INVALID COMPARTMENT NAME");
}

break;
case 3:
printf("Enter the position:");
scanf("%d",&pos1);
//insertpos(cn1,pos1);
display();
break;
case 4:
printf("Enter the comname:");
scanf("%s",cn1);
ddelete();
display();
break;
case 5:
printf("Enter the comname:");
scanf("%s",cn1);
printf("Enter the comname to be searched\n");
//position=search(cn1);
//printf("The position of passed value:%d\n",position);
display();
break;
case 6:
display();
break;
default:
printf(" %c thank you good bye %c",1,1);
return 0;
}
}
while(1);
}

TRAIN PASSENGER PASS

#include<stdio.h>
#include<conio.h>
#include<string.h>
int n,i;
char search[100];
struct trainpass
{
char psname[50];
int psage;
char fromsta[50];
char tosta[50];
int trainno;
char datej[50];
int ticketfare;

}t[10];

void get()
{
printf("enter the number of passenger");
scanf("%d",&n);
}
void findpass()
{
scanf("%s",&search);
for(i=0;i<n;i++)
{
if(strcmp(search,t[i].psname)==0)
{
printf("\nTHE NAME OF PASSENEGER IS %s",t[i].psname);
printf("\nTHE AGE OF PASSENEGER IS %d",t[i].psage);
printf("\nTHE TRIAN NO OF PASSENEGER IS %s",t[i].trainno);
printf("\nTHE FROM STATION OF PASSENEGER IS %s",t[i].fromsta);
printf("\nTHE DESITINATION STATION OF PASSENEGER IS %s",t[i].tosta);
printf("\nTHE DATE OF JOURNEY IS %s",t[i].datej);
printf("\nTHE TICKET FARE IS %d",t[i].ticketfare);
}
else
{
printf("the name not found");
}
}
}

void getpassdet()
{
for(i=0;i<n;i++)
{
printf("enter the passenger details\n\n");
printf("enter the train number:");
scanf("%d",&t[i].trainno);
printf("enter the date journey:");
scanf("%s",&t[i].datej);
printf("enter the passenger name:");
scanf("%s",t[i].psname);
printf("enter the passenger name:");
scanf("%d",t[i].psage);
printf("enter the from station:");
scanf("%s",t[i].fromsta);
printf("enter the to station:");
scanf("%s",t[i].tosta);
printf("enter the train fare:");
scanf("%d",&t[i].ticketfare);
}
}
void page()
{
for(i=0;i<n;i++)
{
if(t[i].psage>=60)
{
t[i].ticketfare=t[i].ticketfare/50;
}
}
}

void main()
{

clrscr();
get();

for(i=0;i<n;i++)
{
getpassdet();
page();
}
printf("--------------------------------------------------");
printf("\nTHE NAME OF PASSENEGER IS %s",t[i].psname);
printf("\nTHE TRIAN NO OF PASSENEGER IS %s",t[i].trainno);
printf("\nTHE FROM STATION OF PASSENEGER IS %s",t[i].fromsta);
printf("\nTHE DESITINATION STATION OF PASSENEGER IS %s",t[i].tosta);
printf("\nTHE DATE OF JOURNEY IS %s",t[i].datej);
printf("\nTHE TICKET FARE IS %d",t[i].ticketfare);
printf("--------------------------------------------------");

printf("\n\n\n\n\n enter the search name\n");


findpass();
getch();
}

You might also like