Program to print, read and calculate
sum, smallest, largest element an array using pointers in C++ Programming
#include
#include
#include
void read_array(int *,int );
void print_array(int *,int );
int sum_of_array(int *,int);
int largest(int *,int);
int smallest(int *,int);
int main( )
{
clrscr();
constint array_size=5;
int array[array_size]={0};
cout<<"\n Enter the contents of the array : \n"<
read_array(array,array_size);
clrscr();
cout<<"\n *********************************** \n"<
cout<<" The contents of the array are :\n"<
print_array(array,array_size);
cout<<"\n ***********************************\n"<
getch();
cout<<"The Sum of the given array is = "<
cout<<"\n ****************************************\n"<
getch();
cout<<"The maximum element of the array is = "<
cout<<"\n ********************************************* \n"<
getch();
cout<<"The minimum element of the array is = "<
cout<<"\n ********************************************** "<
getch();
return 0;
}
/*************************************************************************//*************************************************************************///------------------------ Function Definitions -----------------------///*************************************************************************//*************************************************************************//*************************************************************************///----------------------- read_array(int *,int) -----------------------///*************************************************************************/
void read_array(int *array,int array_size)
{
for(int count=0;count
{
cin>>*array;
array++;
}
}
/*************************************************************************///----------------------- print_array(int *, int) --------------------///*************************************************************************/void print_array(int *array,int array_size)
{
for(int count=0;count
{
cout<<"\t\t\t Element ["<"] = "<<*array<
array++;
}
}
/*************************************************************************///---------------------- sum_of_array(int *,int) -------------------///*************************************************************************/int sum_of_array(int *array,int array_size)
{
int count;
int sum=0;
for(count=0;count
{
sum=sum+*array;
array++;
}
return sum;
}
/*************************************************************************///------------------------- largest(int *,int) ------------------------///*************************************************************************/
int largest(int *array,int array_size)
{
int max=*array;
for(int count=0;count
{
if(*array>max)
max=*array;
array++;
}
return max;
}
/*************************************************************************///------------------------- smallest(int *,int) ----------------------///*************************************************************************/
int smallest(int *array,int array_size)
{
int min=*array;
for(int count=0;count
{
if(*array
min=*array;
array++;
}
return min;
}
Draw a line using Bresenham's Line
Algorithm for lines with slopes negative and greater than 1 in C++ Programming
# include
# include
# include
# include
void show_screen( );
void bresenham_line(constint,constint,constint,constint);
int main( )
{
int driver=vga;
int mode=vgahi;
int x_1=0;
int y_1=0;
int x_2=0;
int y_2=0;
do
{
show_screen( );
gotoxy(8,10);
cout<<"Coordinates of Point-I (x1,y1) :";
gotoxy(8,11);
cout<<"ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ";
gotoxy(12,13);
cout<<"Enter the value of x1 = ";
cin>>x_1;
gotoxy(12,14);
cout<<"Enter the value of y1 = ";
cin>>y_1;
gotoxy(8,18);
cout<<"Coordinates of Point-II (x2,y2) :";
gotoxy(8,19);
cout<<"ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ";
gotoxy(12,21);
cout<<"Enter the value of x2 = ";
cin>>x_2;
gotoxy(12,22);
cout<<"Enter the value of y2 = ";
cin>>y_2;
initgraph(&driver,&mode,"..\\Bgi");
setcolor(15);
bresenham_line(x_1,y_1,x_2,y_2);
setcolor(15);
outtextxy(110,460,"Press to continue or any other key to exit.");
int key=int(getch( ));
if(key!=13)
break;
}
while(1);
return 0;
}
/*************************************************************************///-------------------------- bresenham_line( ) ------------------------///*************************************************************************/
void bresenham_line(constint x_1,constint y_1,constint x_2,constint y_2)
{
int color=getcolor( );
int x1=x_1;
int y1=y_1;
int x2=x_2;
int y2=y_2;
if(x_1>x_2)
{
x1=x_2;
y1=y_2;
x2=x_1;
y2=y_1;
}
int dx=abs(x2-x1);
int dy=abs(y2-y1);
int two_dx=(2*dx);
int two_dx_dy=(2*(dx-dy));
int p=((2*dx)-dy);
int x=x1;
int y=y1;
putpixel(x,y,color);
while(y
{
y++;
if(p<0 span="">0>
p+=two_dx;
else
{
x++;
p+=two_dx_dy;
}
putpixel(x,y,color);
}
}
/*************************************************************************///-------------------------- show_screen( ) ---------------------///*************************************************************************/
void show_screen( )
{
restorecrtmode( );
textmode(C4350); cprintf("\n********************************************************************************");
cprintf("*************************- -***********************");
cprintf("*------------------------- ");
textbackground(1);
cprintf(" Bresenham's Line Algorithm ");
textbackground(8);
cprintf(" -----------------------*");
cprintf("*-***********************- -*********************-*");
cprintf("*-****************************************************************************-*");
for(int count=0;count<42 count="" span="">42>
cprintf("*-* *-*");
gotoxy(1,46);
cprintf("*-****************************************************************************-*");
cprintf("*------------------------------------------------------------------------------*"); cprintf("********************************************************************************");
gotoxy(8,40);
cout<<"Note :";
gotoxy(8,41);
cout<<"ÍÍÍÍÍÍ";
gotoxy(12,43);
cout<<"The slope of the line should be negative and greater than 1.";
gotoxy(1,2);
}
No comments:
Post a Comment