Q)Circle generation using bresenham’s circle drawing algorithm.
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include<iostream.h>
void drawcir(float x,float y,float p,float q){
putpixel(x+p,y+q,3);
putpixel(x-p,y+q,3);
putpixel(x+p,y-q,3);
putpixel(x-p,y-q,3);
putpixel(x+q,y+p,3);
putpixel(x-q,y+p,3);
putpixel(x+q,y-p,3);
putpixel(x-q,y-p,3);
}
int main()
{
int gdriver = DETECT, gmode;
initgraph(&gdriver, &gmode, "C:\\TC\\bgi");
float gx,gy,grad;
cout<<"enter the x coordinateof the centre";
cin>>gx;
cout<<"enter the y coor of the centre";
cin>>gy;
cout<<"enter the radious of the circle";
cin>>grad;
float p=0;
float q=grad;
float d=3-2*grad;
while(p<q){
drawcir(gx,gy,p,q);
p++;
if(d<0)
{d=d+4*p+6;
}
else{
q--;
d=d+4*(p-q)+10;
}
drawcir(gx,gy,p,q);
}
getch();
closegraph();
return 0;
}
A blog which has various codes and other descriptions from all fields of Computer Science and other domains.
Tuesday, 23 February 2016
Bresenham's circle drawing
Sunday, 21 February 2016
Filehandeling :Reading a text file
Q) Program to read a text file and calculate number of tabs,new lines,spaces,characters in it.
#include <iostream>
#include<stdio.h>
using namespace std;
int main()
{
int tab=0,lines=0,pa=0,charec=0;
FILE *fp;
char ch;
fp=fopen("mim.txt","r");
ch=getc(fp);
while(ch!=EOF)
{ if(ch=='\t')
tab++;
if(ch=='\n')
lines++;
if(ch==' ')
pa++;
charec++;
ch=getc(fp);
}
cout<<"number of tabs ="<<tab<<endl;
cout<<"number of new lines ="<<lines<<endl;
cout<<"number of spaces ="<<pa<<endl;
cout<<"number of characters ="<<charec<<endl;
fclose(fp);
return 0;
}
Monday, 21 September 2015
Stack implementation using linked list
#include <iostream>
using namespace std;
struct node
{
int data ;
node* next;
};
node* head;
void insert(int x)
{ node * temp=new node();
temp->data=x;
if(head==NULL)
{
head =temp;
temp->next=NULL;
}
else
{ temp->next=head;
head=temp;
}
}
void del()
{
if(head==NULL)
cout<<"Stack is empty"<<endl;
else
head=head->next;
}
void show()
{ node*temp1=head;
while(temp1!=NULL)
{cout<<temp1->data<<"->";
temp1=temp1->next;
}
cout<<"NULL"<<endl;
}
int main()
{head=NULL;
char ch='y';int n;
int x;
while(ch=='y'||ch=='Y')
{
cout<<"Enter 1 for insertion"<<endl;
cout<<"Enter 2 for deletion"<<endl;
cin>>n;
switch (n)
{ case 1 : cout<<"Enter data:";
cin>>x;
insert (x);
break;
case 2 : del();
break;
}
cout<<"The the Stack is:"<<endl;
show();
cout<<"Do you want to continue operation y/n"<<endl;
cin>>ch;
}
}
Linked list insertion and deletion at begining
#include <iostream>
using namespace std;
struct node
{
int data ;
node* next;
};
node* head;
void insert(int x)
{ node * temp=new node();
temp->data=x;
if(head==NULL)
{
head =temp;
temp->next=NULL;
}
else
{ temp->next=head;
head=temp;
}
}
void del()
{
if(head==NULL)
cout<<"Linked is empty"<<endl;
else
head=head->next;
}
void show()
{ node*temp1=head;
while(temp1!=NULL)
{cout<<temp1->data<<"->";
temp1=temp1->next;
}
cout<<"NULL"<<endl;
}
int main()
{head=NULL;
char ch='y';int n;
int x;
while(ch=='y'||ch=='Y')
{
cout<<"Enter 1 for insertion"<<endl;
cout<<"Enter 2 for deletion"<<endl;
cin>>n;
switch (n)
{ case 1 : cout<<"Enter data:";
cin>>x;
insert (x);
break;
case 2 : del();
break;
}
cout<<"The linked list is:"<<endl;
show();
cout<<"Do you want to continue operation y/n"<<endl;
cin>>ch;
}
}
Wednesday, 16 September 2015
Doubly linked list
#include <iostream>
using namespace std;
struct node
{
int data;
node* next;
node* previous;
};
node* head;
void insert(int x)
{
node* temp=new node();
temp->data=x;
if(head==NULL)
{
head=temp;
head->next=NULL;
head->previous=NULL;
}
else
temp->next=head;
head->previous=temp;
head=temp;
}
void showstart()
{
node* temp1=head;
while(temp1!=NULL)
{
cout<<temp1->data<<"->";
temp1=temp1->next;
}
cout<<"NULL"<<endl;
}
void showend()
{
node* temp2=head;
while(temp2->next!=NULL)
{
temp2=temp2->next;
}
while(temp2!=head)
{
cout<<temp2->data<<"->";
temp2=temp2->previous;
}
cout<<head->data;
}
int main()
{
head=NULL;
int n,x;
cout<<"How many elements do you want to enter?"<<endl;
cin>>n;
while(n--)
{
cout<<"Enter data :";
cin>>x;
insert(x);
}
cout<<"Doubly linked list from the start is :"<<endl;
showstart();
cout<<"Doubly linked list from the end is:"<<endl;
showend();
}