COMPUTER SCIENCE
PRACTICAL
FILE
By:-Jayant Chandra
Class :-> XII-A
Roll no. :-> 10
1
INDEX
1. Binary searching in an array
2. Bubble sort
3. Selection sort
4. Insertion sort
5. Count number of alphabets and digits
in a text file.
6. Count number of words in a text file.
7. Count number of lines in a text file.
2
‘t’ / ’T’ in a text file.
9. Merging two given arrays (ascending
order) into a single array(ascending
order).
10. Deletion of a record from binary file.
11. Modifying a record from a binary file.
12. Program for stack as a linked-list.
13. Program for stack as an array.
14. Program for queue an a linked-list.
3
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; }
4
{
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
5 { last=mid-1; } } return -1; }
Output
6
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( ); }
7
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
8
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) {
9 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
10
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(); }
11
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
12
Count number of alphabets and digits
in a text file.
#include<iostream.h> #include<fstream.h> #include<conio.h> #include<ctype.h> void main() { clrscr(); char ch; int count=0; int count1=0; ifstream fil("honey.txt"); while(!fil.eof()) { fil.get(ch); if(isalpha(ch)) { count++; } else if(isdigit(ch)) { count1++;13
} }
cout<<"number of alphabets are : "<<count<<endl; cout<<"number of digits are : "<<count1<<endl; fil.close();
getch(); }
Text file contents
1234 by14
Count number of words in a text file.
#include<iostream.h> #include<fstream.h> #include<conio.h> #include<ctype.h> void main() { clrscr(); char word; int count=0; ifstream fil("student.txt"); while(!fil.eof()) { fil.get(word); if(word==' ') { count++; } }
cout<<"no of words are : "<<count<<endl; fil.close();
getch(); }
15
Text file contents
It is a lovely weather today?.
16
Count number of lines in a text file.
#include<iostream.h> #include<fstream.h> #include<conio.h> #include<ctype.h> void main() { clrscr(); char word[20]; int count=0; ifstream fil("countline.txt"); while(!fil.eof()) { fil.getline(word,20); count++; }
cout<<"no of lines are"<<count<<endl; fil.close();
getch(); }
17
Text file contents
It is A lovely
Weather today?.
18
Count number of lines starting with
’T’ in a text file.
#include<iostream.h> #include<conio.h> #include<fstream.h> #include<ctype.h> #include<string.h> void main() { clrscr(); int count=0; char ch[20]; ifstream fil("student.txt"); while(!fil.eof()) { fil.getline(ch,20); if((ch[0]=='t')||ch[0]=='T')) { count++; } }cout<<"number of lines starting with 't' in the file are"<<count<<endl; getch();
19
}
Text file contents
my name id
the best paret to the vert the to where i m
mu the The the bets
20
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) {
21 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;
22 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
23
Deletion of a record from binary file.
#include<iostream.h> #include<conio.h> #include<fstream.h> #include<string.h> #include<stdio.h> class student { int id; char name[20]; public: void input() {
cout<<"Enter student id"<<endl; cin>>id;
cout<<"Enter student name"<<endl; gets(name);
}
void display() {
cout<<"Student id is: "<<id<<endl; cout<<"Student name is: ";
puts(name);endl; }
24 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);
25 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);
26 while(!from.eof()) { from.read((char*)&s,sizeof(s)); s.display(); } from.close(); getch(); }
27
Modifying a record from a binary file.
#include<iostream.h> #include<conio.h> #include<stdio.h> #include<string.h> #include<fstream.h> class student { int id; char name[20]; public: void input() {
cout<<"Enter student id"<<endl; cin>>id;
cout<<"Enter student name"<<endl; gets(name);
}
void display() {
cout<<"Student id is: "<<id<<endl; cout<<"Student name is: ";
puts(name);endl; }
28
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));
29
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()) {
30 fout.read((char*)&s,sizeof(s)); s.display(); } fout.close(); getch(); }
Output
31
Program for stack as a linked-list.
#include<iostream.h> #include<stdlib.h> #include<process.h> #include<conio.h> #include<string.h> #include<stdio.h> struct node { int info; node*next; }*top,*newptr,*save,*ptr; node*create_new_node(int); void push(node*); void display(node*); void pop(); void main() { clrscr(); int n_info; char ans[5],ans1[5]; top=NULL; do {
cout<<"Enter information for new node"<<endl; cin>>n_info;
32
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(); }
33 { 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;
34 } void pop() { if(top==NULL) { cout<<"Underflow"<<endl; } else { ptr=top; top=top->next; delete ptr; } }
Output
35
Program for stack as an array.
#include<iostream.h> #include<conio.h> #include<process.h> #include<stdio.h> #include<string.h> int pop(int [],int&); int push(int [],int&,int); void display(int [],int); const int size=50; void main()
{ clrscr();
int stack [size],top=-1,res,item; char ans[5], ans1[5];
do {
cout<<"Enter item for insertion"<<endl; cin>>item; res=push(stack,top,item); if(res==-1) { cout<<"Overflow!!"<<endl; exit(0); }
36
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(); }
37 { 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; }
38
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
39
Program for queue an a linked-list.
#include<iostream.h> #include<stdlib.h> #include<process.h> #include<conio.h> #include<string.h> #include<stdio.h> struct node { int info; node*next; }*front,*newptr,*save,*ptr,*rear; node*create_new_node(int); void insert(node*); void display(node*); void delete_node(); void main() { clrscr(); int n_info;
char ans[5], ans1[5]; front=rear=NULL; do {
cout<<"Enter information for new node"<<endl; cin>>n_info;
40
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(); }
41 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; }
42 cout<<endl; } void delete_node() { if(front==NULL) { cout<<"Underflow"<<endl; } else { ptr=front; front=front->next; delete ptr; } }
Output
43
SQL
Consider the tables given below and answer
the questions that follow:
Table: Student
No Name
fees Zone Age Grade Comp
1 Tushar
20000 West 18 A
10
2 Aditya
35000 Centre 20 A
10
3 Amit
32000 West 20 B
20
4 Jayant
38000 North 17 C
20
5 Anshul
32000 East
17 B
20
6 Ratul
37000 South 17 B
10
7 Devavrat 36000 North 20 A
20
44
SQL commands to:-
Create table student and competition
Table: Competition
Comp CName Minprize Maxprize Now
10
Music 25000
32000
1
20
Drama 20000
50000
5
45
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;
3.Display the fees, Zone, and Grade of all the
students
select fees,zone,grade from student;
Conditional Select using Where Clause
4. Display the details of all the student who are
below 20 years of age
46
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;
8.Display details of student whose grade is not
NULL
47
select * from student
where grade is NOT NULL;
Using DISTINCT clause
9. Display the names of various zones from the table
student
select distinct(zone) from student;
10.
Display the various competition numbers from
the table student
select distinct(comp) from 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
48
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);
49
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
50
where name ‘_a%’;
Using Aggregate functions
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
51
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;
52
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%.
update student
set fees=fees+(0.1*fees)
where age>20;
28.
Delete the records of all the students whose
grade is C and fees is below 20000
delete from student
53
29.
Add another column HireDate of type integer in
the Student table
alter table student
add (HireDate integer);
JOIN of two tables
20.
Display the details of all the students who work
in Drama competition
select * from student, competition
where student.comp=competition.comp AND
cname=’Drama’;
31.
Display the Name and Competition Name of all
the students
54