CSE1002 Chess, Carrom and Scrabble Players (Id-1145)

Each student in a class of 'n' plays at least one indoor game chess, carrom and scrabble. Given three list of names of students who play chess, scrabble and carrom, develop an algorithm and write a C++ code to find the students who can
(i) Play chess and carrom
(ii) Chess, carrom but not scrabble
Understand the template code and implement the member functions of the class
Input Format
Number of students who play chess
Name of student1 who plays chess
Name of student2 who plays chess
...
Name of student-n who plays scrabble

Number of students who play scrabble
Name of student1 who plays scrabble
Name of student2 who plays scrabble
...
Name of student-n who plays scrabble
Number of students who play carrom
Name of student1 who plays carrom
Name of student2 who plays carrom
...
Name of student-n who plays carrom
Output Format
Name of students who play chess and carrom. order the names as given in the chess input list . separate names by a comma Name of students who play chess and carrom but not scrabble. Order the names as given in the chess input list. separate names by a comma
Boundary Conditions
Number of students in class will not be more than 30
Length of name of students in class will not be more than 20
Assume that none of the set will become empty

C++ CODE 
void set :: get()
{
cin>>num_Of_Ele;
for(int i=0;i < num_Of_Ele;i++) cin>>names[i];
}
void set :: print() const
{
for(int i=0;i < num_Of_Ele-1;i++)
cout<<names[i]<<",";
cout<<names[num_Of_Ele-1]<<"\n";
}
set set :: intersection(set& var)
{
set inter;
inter.num_Of_Ele=0;
int i,j;
for(i=0;i < num_Of_Ele;i++)
for(j=0;j < var.num_Of_Ele;j++)
if(strcmp(names[i],var.names[j])==0)
{
strcpy(inter.names[inter.num_Of_Ele++],names[i]);
break;
}
return(inter);
}
set set :: difference(set& var)
{
set diff;
diff.num_Of_Ele=0;
int i,j,flag;
for(i=0;i < num_Of_Ele;i++)
{
flag=0;
for(j=0;j < var.num_Of_Ele;j++)
if(strcmp(names[i],var.names[j])==0)
{
flag=1;
break;
}
if(flag==0)
strcpy(diff.names[diff.num_Of_Ele++],names[i]);
}
return(diff);
}
 
INPUT : 
Name of the n students who play chess,scramble,carrom
 
PROCESSING:
void set :: get()
{
cin>>num_Of_Ele;
for(int i=0;i < num_Of_Ele;i++) cin>>names[i];
}
void set :: print() const
{
for(int i=0;i < num_Of_Ele-1;i++)
cout<<names[i]<<",";
cout<<names[num_Of_Ele-1]<<"\n";
}
set set :: intersection(set& var)
{
set inter;
inter.num_Of_Ele=0;
int i,j;
for(i=0;i < num_Of_Ele;i++)
for(j=0;j < var.num_Of_Ele;j++)
if(strcmp(names[i],var.names[j])==0)
{
strcpy(inter.names[inter.num_Of_Ele++],names[i]);
break;
}
return(inter);
}
set set :: difference(set& var)
{
set diff;
diff.num_Of_Ele=0;
int i,j,flag;
for(i=0;i < num_Of_Ele;i++)
{
flag=0;
for(j=0;j < var.num_Of_Ele;j++)
if(strcmp(names[i],var.names[j])==0)
{
flag=1;
break;
}
if(flag==0)
strcpy(diff.names[diff.num_Of_Ele++],names[i]);
}
return(diff);
}
  
OUTPUT :
Print the name of students who play chess and carrom. 
Print the name of students who play chess and carrom 
but not scrabble.
 
PSUEDO CODE:

1)START
2)Read void set :: get()
set set :: intersection(set& var)
{
set inter;
inter.num_Of_Ele=0;
int i,j;
for(i=0;i < num_Of_Ele;i++)
for(j=0;j < var.num_Of_Ele;j++)
if(strcmp(names[i],var.names[j])==0)
{
strcpy(inter.names[inter.num_Of_Ele++],names[i]);
break;
}
return(inter);
}
set set :: difference(set& var)
{
set diff;
diff.num_Of_Ele=0;
int i,j,flag;
for(i=0;i < num_Of_Ele;i++)
{
flag=0;
for(j=0;j < var.num_Of_Ele;j++)
if(strcmp(names[i],var.names[j])==0)
{
flag=1;
break;
}
if(flag==0)
strcpy(diff.names[diff.num_Of_Ele++],names[i]);
}
return(diff);
}
Output void set :: print() const
3)END