#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include<conio.h>
int main(void)
{
int gdriver = DETECT, gmode;
initgraph(&gdriver, &gmode, "C:\\TC\\bgi");
circle(150, 150, 20);
circle(141,146,5);
circle(160,146,5);
arc(150,156,215,340,6);
line(150,170,150,240);
line(150,240,110,300) ;
line(150,240,190,300);
line(150,180,100,180);
line(150,180,200,180);
line(300,170,2000,170);
line(300,170,400,100);
line(400,100,500,170);
line(500,170,800,50);
arc(500,200,45,135,70);
getch();
closegraph();
return 0;
}
A blog which has various codes and other descriptions from all fields of Computer Science and other domains.
Friday, 19 February 2016
Scenery using graphics in C++
Friday, 12 February 2016
Conversion of NFA to DFA
#include<string>
using namespace std;
string statear[40];
int find(string nift)
{
for(int i=0;i<40;i++)
{
if(nift==statear[i])
{ return 0;
}
}
return 1;
}
int main()
{ int jk=2;
string stra[30];
string no0,no1;
statear[0]="a";
statear[1]="b";
statear[2]="c";
for(int e=0;e<6;e++)
{ cout<<"enter the state when ";
if(e%2==0)
cout<<"0";
else
cout<<"1";
cout<<"is entered to";
if(e==0||e==1)
cout<<"a: ";
if(e==2||e==3)
cout<<"b: ";
if(e==4||e==5)
cout<<"c: ";
cin>>stra[e];
}
cout<<"The NFA is"<<endl;
cout<<" 0 1"<<endl;
cout<<"a"<<" "<<stra[0]<<" "<<stra[1]<<endl;
cout<<"b"<<" "<<stra[2]<<" "<<stra[3]<<endl;
cout<<"c"<<" "<<stra[4]<<" "<<stra[5]<<endl;
cout<<"The equivalent DFA is"<<endl;
cout<< " 0 1"<<endl;
for(int pl=0;pl<3;pl++)
{
if(pl==0)
{
cout<<"a ";
cout<<stra[0]<<" "<<stra[1]<<endl;
}
if(pl==1)
{
cout<<"b ";
cout<<stra[2]<<" "<<stra[3]<<endl;
}
if(pl==2)
{
cout<<"c ";
cout<<stra[4]<<" "<<stra[5]<<endl;}
for(int bk=0;bk<13;bk++)
{
int l=find(stra[bk]);
if(l==1&&stra[bk]!="0")
{
jk++;
no0="";
no1="";
for(int j=0;j<3;j++)
{
statear[jk]=stra[bk];
char decide=stra[bk][j];
switch (decide)
{case 'a':
if(stra[0]!="0") {
no0.append(stra[0]);
}
if(stra[1]!="0") no1.append(stra[1]);
break;
case 'b':
if(stra[2]!="0") no0.append(stra[2]);
if(stra[3]!="0") no1.append(stra[3]);
break;
case 'c':
if(stra[4]!="0")no0.append(stra[4]);
if(stra[5]!="0") no1.append(stra[5]);
break;
}
}
string mr="0";
if(no0.length()==0)
no0="0";
if(no0.length()>=4)
no0="abc";
if(no1.length()==0)
no1="0";
if(no1.length()>=4)
no1="abc";
cout<<statear[jk]<<" "<<no0<<" "<<no1<<endl;
}
}
}
}
Friday, 22 January 2016
DDA algorithm
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include<iostream.h>
int main(void)
{ int gdriver = DETECT, gmode;
initgraph(&gdriver, &gmode, "C:\\TC\\bgi");
float x1,y1,x2,y2,dx,dy,length,xinr,yinr,x,y;
cout<<"enter the x coordinate of the first point";
cin>>x1;
cout<<"enter the y coordinate of the first point ";
cin>>y1;
cout<<"enter the x coordinate of the second point ";
cin>>x2;
cout<<"enter the y coordinate of the second point ";
cin>>y2;
dx=x2-x1;
dy=y2-y1;
if(abs(dy)>abs(dx))
length=abs(dy);
else
length=abs(dx);
xinr=dx/length;
yinr=dy/length;
x=x1;
y=y1;
for(int i=0 ;i<length;i++)
{ putpixel ( x,y,2);
x+=xinr;
y+=yinr;
}
getch();
closegraph();
return 0;
}
Bresenham algorithm
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include<iostream.h>
int main(void)
{ int gdriver = DETECT, gmode;
initgraph(&gdriver, &gmode, "C:\\TC\\bgi");
float x1,y1,x2,y2,dx,dy,length,xinr,yinr,x,y,e;
cout<<"enter the x coordinate of the first point";
cin>>x1;
cout<<"enter the y coordinate of the first point ";
cin>>y1;
cout<<"enter the x coordinate of the second point ";
cin>>x2;
cout<<"enter the y coordinate of the second point ";
cin>>y2;
dx=x2-x1;
dy=y2-y1;
if(abs(dy)>abs(dx))
length=abs(dy);
else
length=abs(dx);
e=2*dy-dx;
x=x1;
y=y1;
for(int i=0;i<length;i++)
{ while(e>0)
{
y+=1;
e-= 2*dx;
}
x+=1;
e=e+2*dy;
putpixel(x,y,3);
}
getch();
closegraph();
return 0;
}
Monday, 26 October 2015
Binary tree
#include <iostream>
using namespace std;
struct node
{
node* leftchild;
node* rightchild;
int data;
};
int count;
node* insert(node*ptr,int x)
{
if(ptr==NULL)
{
node* temp= new node;
temp->leftchild=NULL;
temp->rightchild=NULL;
temp->data=x;
ptr=temp;
count++;
}
else if(count%2==0)
ptr->leftchild=insert(ptr->leftchild,x);
else
ptr->rightchild=insert(ptr->rightchild,x);
return ptr;
}
void preorder(node* root)
{
if(root!=NULL)
{
cout<<root->data<<endl;
preorder(root->leftchild);
preorder(root->rightchild);
}
}
void inorder(node *root)
{
if (root!= NULL)
{
inorder(root->leftchild);
cout<<root->data<<endl;
inorder(root->rightchild);
}
}
void postorder( node *root)
{
if (root != NULL)
{
postorder(root->leftchild);
postorder(root->rightchild);
cout<<root->data<<endl;
}
}
int main()
{
count=0;int x;
node* root=NULL;
char ch='y';
while(ch!='n')
{
cout<<"Enter the element:";
cin>>x;
root=insert(root,x);
cout<<"Do you want to enter more elements? y/n";
cin>>ch;
}
cout<<"Preorder traversal:";
preorder(root);
cout<<"Inorder traversal:";
inorder(root);
cout<<"Postorder traversal";
postorder(root);
}
Binary search tree
#include <iostream>
using namespace std;
struct node
{
int data;
node* left;
node* right;
};
void preorder(struct node *root)
{
if (root != NULL)
{ cout<<root->data<<endl;
preorder(root->left);
preorder(root->right);
}
}
void inorder(struct node *root)
{
if (root != NULL)
{
inorder(root->left);
cout<<root->data<<endl;
inorder(root->right);
}
}
void postorder(struct node *root)
{
if (root != NULL)
{
postorder(root->left);
postorder(root->right);
cout<<root->data<<endl;
}
}
node* insert(node* ptr, int x)
{
if (ptr == NULL)
{
node* temp = new node;
temp->data = x;
temp->left = temp->right = NULL;
ptr=temp;
}
else if (x < ptr->data)
ptr->left = insert(ptr->left,x);
else if (x> ptr->data)
ptr->right = insert(ptr->right,x);
return ptr;
}
int main()
{int x;
struct node *root = NULL;
char ch='y';
while(ch!='n')
{
cout<<"Enter the element:";
cin>>x;
root= insert(root,x);
cout<<"Do you want to insert more elements y/n:";
cin>>ch;
}
cout<<"Preorder traversal:";
preorder(root);
cout<<"Inorder traversal:";
inorder(root);
cout<<"Postorder traversal";
postorder(root);
return 0;
}
Sunday, 11 October 2015
Simple calculator using switch case
#include <iostream>
using namespace std;
int main()
{long first,second;
char ch;
cout<<"ENTER FIRST INTEGER:";
cin>>first;
cout<<"ENTER SECOND INTEGER";
cin>>second;
cout<<"ENTER THE OPERAND";
cin>>ch;
switch(ch)
{
case '+' : cout<<"THE SUM IS:"<<first +second;
break;
case '-' : cout<<"THE DIFFERENCE IS:"<<first -second;
break;
case '/' : cout<<"THE QUOTIENT IS:"<<first/second;
cout<<"THE REMAINDER IS:"<<first%second;
break;
case '*' : cout<<"THE PRODUCT IS:"<<first*second;
break;
}
}