Professional Documents
Culture Documents
PRACTICAL FILE
By:-Jayant Chandra Class :-> XII-A Roll no. :-> 10
INDEX
1. Binary searching in an array
2. Bubble sort
3. Selection sort
4. Insertion sort
t / T in a text file.
9. Merging two given arrays (ascending order) into a single array(ascending order).
15. SQL
binary searching
#include<iostream.h> #include<conio.h> int bsearch(int [ ],int,int); void main( ) { clrscr( ); int ar[50]; int n; int item; int index; cout<<"How many elements array do you want to create(maximum 50)"<<endl; cin>>n; cout<<"Enter array elements"<<endl; for(int i=0;i<n;i++) { cin>>ar[i]; } index=bsearch(ar,n,item); if(index==-1) { cout<<"Sorry!! Element"<<item<<" is not found"<<endl; } else
3
{ cout<<"Element found at index :"<<index<<endl; cout<<"At position"<<index+1<<endl; } getch( ); } int bsearch(int ar[ ],int size,int item) { int beg=0; int size; int last=size-1; int mid; while(beg<=last) { mid=(beg+last)/2; if(item==ar[mid]) { return mid; } else if(item>ar[mid]) { beg=mid+1; } else
4
Output
bubble sort
#include<iostream.h> #include<conio.h> void bubblesort(int [ ],int); void main( ) { clrscr( ); int ar[50],n; cout<<"How many elements array do you want to create?(max. 50)"<<endl; cin>>n; cout<<"Enter array elements"<<endl; for(int i=0;i<n;i++) { cin>>ar[50]; } bubblesort(ar,n); cout<<"The sorted array is as given below :"<<endl; for(int j=0;j<n;j++) { cout<<ar[j]<<endl; } getch( ); }
6
void bubblesort(int ar[ ],int size) { int tmp; for(int i=0;i<size;i++) { for(int j=0;j<(size-1);j++) { if(ar[ j ]>ar[j+1]) { tmp=ar[ j ]; ar[ j ]=ar[ j+1 ]; ar[ j+1 ]=tmp; }}}}
Output
selection sort
#include<iostream.h> #include<conio.h> void selsort(int [ ],int); void main( ) { clrscr( ); int ar[50]n; cout<<"How many elements array do you want to create"<<endl; cin>>n; cout<<"Enter array elements"<<endl; for(int i=0;i<n;i++) { cin>>ar[i]; } selsort(ar,n); cout<<"The sorted array is as given below :"<<endl; for(int j=0;j<n;j++) { cout<ar[ j ]<<endl; } getch( ); } void selsort(int ar[ ],int size) {
8
int small,tmp; for(int i=0;i<size;i++) { small=ar[i]; { for(int j=i+1;j<size;j++) { if(ar[j]<small) { small=ar[j]; pos=j; } tmp=ar[i]; ar[i]=ar[pos]; ar[pos]=tmp; }}
Output
insertion sort
#include<iostream.h> #include<conio.h> #include<limits.h> void insertion(int [],int); void main() { clrscr(); int ar[50],item ,n ,index; cout<<"How many elements array do you want to create?"<<endl; cin>>n; cout<<"Enter array elements"<<endl; for(int i=1;i<=n;i++) { cin>>ar[i]; } insertion(ar,n); cout<<"The sorted array is as follows-"<<endl; for(int j=1;j<=n;j++) { cout<<ar[j]<<" "; } cout<<endl; getch(); }
10
void insertion(int ar[],int size) { int tmp, j; ar[0]=INT_MIN;; for(int i=1;i<=size;i++) { tmp=ar[i]; j=i-1; while(tmp<ar[j]) { ar[j+1]=ar[j]; j-- ; } ar[j+1]=tmp; }}
Output
11
} } cout<<"number of alphabets are : "<<count<<endl; cout<<"number of digits are : "<<count1<<endl; fil.close(); getch(); }
Output
13
14
Output
15
16
Output
17
Output
19
Merging two given arrays (ascending order) into a single array(ascending order).
#include<iostream.h> #include<conio.h> void merge(int Z[],int z,int X[],int x,int Y[],int y) { y=z+x; for(int d=0,e=0,f=0;d<z,e<x;) { if(Z[d]<X[e]) { Y[f++]=Z[d++]; } else if(Z[d]>X[e]) { Y[f++]=X[e++]; } } if(d<z) { while(d<z) {
20
Y[f++]=Z[d++]; } } else if(e<x) { while(e<x) { Y[f++]=X[e++]; }}} void main() { clrscr(); int A[50], B[50], C[100]; int a, b, c; cout<<"Enter size of first array(A)"<<endl; cin>>a; cout<<"Enter elements of first array in ascending order"<<endl; for(int i=0;i<a;i++) { cin>>A[i]; } cout<<"Enter size of second array(B)"<<endl; cin>>b; cout<<"Enter elements of second array in ascending order"<<endl;
21
for(int j=0;j<b;j++) { cin>>B[j]; } c=a+b; merge(A,a,B,b,C,c); cout<<"The merged array is as given below"<<endl; for(int m=0;m<c;m++) { cout<<C[m]<<" "; } getch(); }
Output
22
int getno() { return id; } }; void main() { clrscr(); student s; int rno; char ans[5]; fstream fil("apple.dat",iso::binary|ios::in|ios::out|ios::app); do { s.input(); fil.write((char*)&s,sizeof(s)); cout<<"Do you want to enter more records (yes/no)"<<endl; gets(ans); }while((strcmp(ans,"yes")==0)||(strcmp(ans,"Yes")==0)); fil.close(); cout<<"Enter student id whose record you want to delete"<<endl; cin>>rno; ifstream fout("apple.dat",ios::in|ios::binary); ofstream fame("orange.dat",ios::out|ios::binary|ios::app);
24
fout.seekg(0); while(!fout.eof()) { fout.read((char*)&s,sizeof(s)); if(s.getno()==rno) { cout<<"Are you sure you want to delete this record (yes/no)"<<endl; gets(ans); if((strcmp(ans,"no")==0)||(strcmp(ans,"No")==0)) { fame.write((char*)&s,sizeof(s)); } } } else { fame.write((char*)&s,sizeof(s)); } } remove("apple.dat"); rename("orange.dat","apple.dat"); fame.close(); fout.close(); ifstream from("apple.dat",ios::in|ios::binary);
25
26
void modify() { char nm[20]; cout<<"Enter correct name"<<endl; gets(nm); strcpy(name,nm); } int getno() { return id; } }; void main() { clrscr(); student s; char ans[5]; int rno; int pos; fstream fil("honeysingh.dat",iso::binary|ios::in|ios::out|ios::app); do { s.input(); fil.write((char*)&s,sizeof(s));
28
cout<<"Do you want to enter more records (yes/no)"<<endl; gets(ans); }while((strcmp(ans,"yes")==0)||(strcmp(ans,"Yes")==0)); fil.close(); cout<<"Enter student id whose record you want to edit"<<endl; cin>>rno; fstream f("honeysingh.dat",ios::out|ios::in|ios::binary); f.seekg(0); while(!f.eof()) { pos=f.tellg(); f.read((char*)&s,sizeof(s)); if(s.getno()==rno) { s.modify(); f.seekg(pos); f.write((char*)&s,sizeof(s)); break; } } f.close(); ifstream fout("honeysingh.dat",ios::in|ios::binary); while(!fout.eof()) {
29
Output
30
newptr=create_new_node(n_info); if(newptr==NULL) { cout<<"Cannot create new node"<<endl; exit(0); } push(newptr); cout<<"linked stack is"<<endl; display(top); cout<<"Do you want to enter more nodes?"<<endl; gets(ans); }while((strcmp(ans,"yes")==0)||(strcmp(ans,"Yes")==0)); cout<<"Do you want to pop a node?"<<endl; gets(ans1); while((strcmp(ans1,"yes")==0)||(strcmp(ans1,"Yes")==0)) { pop(); cout<<"The stack is now"<<endl; display(top); cout<<"Do you want to pop another node?"<<endl; gets(ans1); }; getch(); } node*create_new_node(int n)
32
{ ptr=new node; ptr->info=n; ptr->next=NULL; return ptr; } void push(node*np) { if(top==NULL) { top=np; } else { save=top; top=np; np->next=save; }} void display(node*np) { while(np!=NULL) { cout<<np->info<<"->"; np=np->next; } cout<<endl;
33
Output
34
display(stack,top); cout<<"Do you want to insert more items?(yes/no)"<<endl; gets(ans); }while((strcmp(ans,"yes")==0)||(strcmp(ans,"Yes")==0)); cout<<"Do you want to delete an element ?(yes/no)"<<endl; gets(ans1); while((strcmp(ans1,"yes")==0)||(strcmp(ans1,"Yes")==0)) { res=pop(stack,top); if(res==-1) { cout<<"Underflow!!"<<endl; exit(0); } else { cout<<"Element deleted is : "<<res<<endl; cout<<"The stack now is"<<endl; display(stack,top); cout<<"Do you want to delete another element?(yes/no)"<<endl; gets(ans1); }} getch(); } int push(int stack[],int & top,int ele)
36
{ if(top==size-1) { return -1; } else { top++; stack[top]=ele; } return 0; } int pop(int stack[],int&top) { int ret; if(top==-1) { return -1; } else { ret=stack[top]; top--; } return ret; }
37
void display(int stack[],int top) { if(top==-1) { return; } cout<<stack[top]<<"<- -"<<endl; for(int i=top-1;i>=0;i--) { cout<<stack[i]<<endl; }}
Output
38
newptr=create_new_node(n_info); if(newptr==NULL) { cout<<"Cannot create new node"<<endl; exit(0); } insert(newptr); cout<<"The queue now is"<<endl; display(front); cout<<"Do you want to enter more nodes?"<<endl; gets(ans); }while((strcmp(ans,"yes")==0)||(strcmp(ans,"Yes")==0)); cout<<"Do you want to delete a node?"<<endl; gets(ans1); while((strcmp(ans,"yes")==0)||(strcmp(ans,"Yes")==0)) { delete_node(); cout<<"The queue is now"<<endl; display(front); cout<<"Do you want to delete another node?"<<endl; gets(ans1); } getch(); }
40
node*create_new_node(int n) { ptr=new node; ptr->info=n; ptr->next=NULL; return ptr; } void insert(node*np) { if(front==NULL) { front=rear=np; } else { rear->next=np; rear=np; }} void display(node*np) { while(np!=NULL) { cout<<np->info<<"->"; np=np->next; }
41
cout<<endl; } void delete_node() { if(front==NULL) { cout<<"Underflow"<<endl; } else { ptr=front; front=front->next; delete ptr; }}
Output
42
SQL
Consider the tables given below and answer the questions that follow:
Table: Student
No Name 1 2 3 4 5 6 7 Tushar Aditya Amit Jayant Anshul Ratul fees Zone Age Grade Comp 18 A A B C B B A 10 10 20 20 20 10 20
20000 West
35000 Centre 20 32000 West 38000 North 32000 East 37000 South 20 17 17 17 20
43
Table: Competition Comp CName Minprize Maxprize Now 10 20 20 Music 25000 32000 50000 40000 1 5 7
44
1.Create table student(S.no integer, name char(20),fees integer, zone char(7),age integer,grade char(2),comp integer); Create table competition (comp integer,cname char(10), minprize integer, maxprize integer,Now integer); Simple select 2.Display the details of all the student Select * from student;
Conditional Select using Where Clause 4.Display the details of all the student who are below 20 years of age
45
select * from student where age>20; 5.Display the names of all the student working in west zone select name from student where zone=west;
6.Display the fees of all the student of department 10 select fees from student where comp=10; Using NULL 7.Display details of student whose grade is NULL select * from student where grade is NULL;
46
Using DISTINCT clause 9. Display the names of various zones from the table student
10. Display the various competition numbers from the table student
Using Logical Operators (NOT, AND, OR) 11. Display the details of all the students of department 10 who are above 20 years of age select * from student
47
where comp=10 AND age>20; 12. Display the details of all the student who are paying a fee of more than 35000 in the department 20
select * from student where fees=35000 AND comp=20; 13. Display the names and fees of all the student who are working in West zone or in Centre zone
select name,fees from student Where zone=west or zone=centre; Using IN operator 14. Display the names of all the student who are working in department 20 or 30 select name from student where comp IN(20,30);
48
Using BETWEEN Operator 15. Display the details of all the student whose fees is between 32000 and 38000
select * from student Where fees BETWEEN 32000 AND 38000; Using LIKE Operator 16. Display the name, fees, and age of all the student whose names start with M select name,fees,age from student where name like M%; 17. Display the name, fees, and age of all the students whose names end with a select name,fees,age from student where name like %a; 18. Display the details of all the students whose names contain a as the second character select name,fees,age from student
49
19. Display the sum and average of the salaries of all the students select sum(fees),avg(fees) from student; 20. Display the highest and the lowest salaries being paid in department 10 select max(fees),min(fees) from student where comp=10; 21. Display the number of students working in department 10 select count(*) from student where comp=10; Using ORDER BY clause 22. Display the details of all the students in the ascending order of their salaries
50
select * from student order by fees ASC; 23. Display the details of all the students in the descending order of their names select * from student order by name DESC; Using GROUP BY clause 24. Display the total number of students in each department select comp,count(*) from student group by comp; 25. Display the highest fees, lowest fees, and average fees of each zone select zone,max(fees),min(fees),avg(fees) from student group by zone; Using UPDATE, DELETE, ALTER TABLE
51
26. Put the grade B for all those whose grade is NULL update student set grade=B where grade is NULL;
27. Increase the fees of all the students above 20 years of age by 10%.
28. Delete the records of all the students whose grade is C and fees is below 20000
29. Add another column HireDate of type integer in the Student table
JOIN of two tables 20. Display the details of all the students who work in Drama competition
31. Display the Name and Competition Name of all the students
53
54