Archive
C++ Program to find Sum of Series (When n is Odd/Even) – Q2
Q2. Program to find Sum of Series:
i) x-x^3/3!-x^5/5!+x^7/7!-….. x^n/n! (When n is odd)
ii) x^2/2!-x^4/4!+x^6/6!-….. x^n/n! (When n is even)
… from College notes (BCA/MCA assignments):
#include <iostream.h>
#include <math.h>
#include <conio.h>
long Fact(long);
float Odd_Series(int, int);
float Even_Series(int , int);
int main(){
int x, n;
float sum;
clrscr();
cout<<"\n Enter the Value of x: ";
cin>>x;
cout<<"\n Enter the Value of n: ";
cin>>n;
sum = Odd_Series(x, n);
cout<<"\n Sum of Odd Series: "<<sum;
sum = Even_Series(x, n);
cout<<"\n Sum of Even Series: "<<sum;
getch();
return 0;
}
long Fact(long f){
if(f<=0)
return 1;
else
return (f * Fact(f-1));
}
float Odd_Series(int x, int n){
int i, f;
float sum = 0;
for(i=1, f=0; i<=n; i=i+2, f++)
sum += pow(-1, f) * pow(x, i) / Fact(i);
return sum;
}
float Even_Series(int x, int n){
int i, f;
float sum = 0;
for(i=2, f=0; i<=n; i=i+2, f++)
sum += pow(-1, f) * pow(x, i) / Fact(i);
return sum;
}
Output:
Enter the Value of x: 4
Enter the Value of n: 5
Sum of Odd Series: 1.866667
Sum of Even Series: -2.666667
C++ Program to find Roots (Real & Complex) of a Quadratic Equation – Q1
Q1. Program to find Roots (Real & Complex) of a Quadratic Equation:
… from College notes (BCA/MCA assignments):
#include <iostream.h>
#include <conio.h>
#include <math.h>
#include <complex.h>
void main(){
int aint, bint, cint, b2, dsq;
float rt1 , rt2, d;
clrscr();
cout<<"\n Quadratic Equation is:- \n";
cout<<"\n\t a*x^2 + b*x + c";
cout<<"\n Enter the Value of a: ";
cin>>aint;
cout<<"\n Enter the Value of b: ";
cin>>bint;
cout<<"\n Enter the Value of c: ";
cin>>cint;
b2 = pow(bint, 2);
d = b2 - 4 * aint * cint;
if(d > 0){
dsq = sqrt(d);
rt1 = (-bint + dsq) / (2 * aint);
rt2 = (-bint - dsq) / (2 * aint);
cout<<"\n Roots are Real and distinct";
}
else if(d == 0){
rt1 = -bint/2 * aint;
rt2 = rt1;
cout<<"\n Roots are Real and same";
}
else {
rt1 = -bint/2 * aint;
rt2 = sqrt(-bint)/2 * aint;
cout<<"\n Roots are Complex and distinct";
}
cout<<"\n rt1 : "<<rt1;
cout<<"\n rt2 : "<<rt2;
getch();
}
Output:
Equation is:-
a*x^2 + b*x + c
Enter the Value of a: 3
Enter the Value of b: 4
Enter the Value of c: 5
Roots are:-
rt1 : 9.476982e-41
rt2 : 219.999786
C++ Graphics – 21 – Analog Clock code/program showing current time
Analog Clock program by using Trigonometry (SIN & COS) functions:
#include <stdio.h>
#include <conio.h>
#include <graphics.h>
#include <math.h>
#include <dos.h>
#define PI 3.14
void getTime(int *h, int *m, int *s ){
struct time t;
gettime(&t);
gotoxy(36,18);
printf("%2d:%02d:%02d.%02d\n",
t.ti_hour,t.ti_min,t.ti_sec,t.ti_hund);
*h = t.ti_hour;
*m = t.ti_min;
*s = t.ti_sec;
}
void main(){
int gd=DETECT, gm;
initgraph(&gd, &gm, "\\tc");
int xs, ys, xm, ym, xh, yh, h, m, s;
while(!kbhit()){
cleardevice();
getTime(&h, &m, &s);
settextstyle(1,0,0);
setcolor(WHITE);
outtextxy(300,15,"12");
outtextxy(315,425,"6");
outtextxy(105,220,"9");
outtextxy(520,220,"3");
settextstyle(5,0,0);
setcolor(GREEN);
outtextxy(275,300,"CLOCK");
settextstyle(2 ,0,0);
setcolor(LIGHTRED);
outtextxy(310,295,"Manoj");
xh = cos((h*30 + m / 2) * PI / 180 - PI / 2) * 150 + 320;
yh = sin((h*30 + m / 2) * PI / 180 - PI / 2) * 150 + 240;
xm = cos(m * PI / 30 - PI / 2) * 180 + 320;
ym = sin(m * PI / 30 - PI / 2) * 180 + 240;
xs = cos(s * PI / 30 - PI / 2) * 210 + 320;
ys = sin(s * PI / 30 - PI / 2) * 210 + 240;
setcolor(LIGHTBLUE);
circle(320,240,220);
setcolor(LIGHTRED);
line(320,240,xh,yh);
setcolor(LIGHTGREEN);
line(320,240,xm,ym);
setcolor(YELLOW);
line(320,240,xs,ys);
sleep(1);
}
}
C++ Graphics – 20 – SCALING of LINE, TRIANGLE and RECTANGLE w.r.t a Point
SCALING of LINE, TRIANGLE and RECTANGLE w.r.t a Point.
#include <math.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <graphics.h>
const int MAX = 5;
const double PI = 3.14;
void GetCords(float mat1[][MAX], float mat2[][MAX], int n){
int i, j;
for(i=0; i<n; i++){
printf("\n Enter Coordinate no %d:- \n", i+1);
for(j=0; j<2; j++){
scanf("%f", &mat1[j][i]);
}
}
for(i=0; i<n; i++){
mat2[0][i] = mat1[0][i];
mat1[0][i] = 320 + mat1[0][i];
mat2[1][i] = mat1[1][i];
mat1[1][i] = 240 - mat1[1][i];
}
setcolor(GREEN);
line(0, 240, 640, 240);
outtextxy(630, 245, "x");
line(320, 0, 320, 480);
outtextxy(310, 0, "y");
outtextxy(280, 245, "(0,0)");
setcolor(YELLOW);
moveto(mat1[0][0], mat1[1][0]);
for(i=0; i<n; i++){
lineto(mat1[0][i], mat1[1][i]);
moveto(mat1[0][i], mat1[1][i]);
}
lineto(mat1[0][0], mat1[1][0]);
}
void pointScale(float mat2[][MAX], int n){
int i, j, k;
float tmat[MAX][MAX], tot[MAX][MAX];
int sx, sy;
int px, py;
// Get a Point.
px = mat2[0][0];
py = mat2[1][0];
printf("\n Enter the Scale value of x: ");
scanf("%d", &sx);
printf("\n Enter the Scale value of y: ");
scanf("%d", &sy);
// Inv Translation to Origin.
for(i=0; i<n; i++){
mat2[0][i] -= px;
mat2[1][i] -= py;
}
// Scaling
tmat[0][0] = sx;
tmat[0][1] = 0;
tmat[1][0] = 0;
tmat[1][1] = sy;
for(i=0; i<2; i++){
for(j=0; j<n; j++){
tot[i][j] = 0;
for(k=0; k<2; k++){
tot[i][j] = tot[i][j] + (tmat[i][k] * mat2[k][j]);
}
}
}
// Trnaslate from the Origin.
for(i=0; i<n; i++){
tot[0][i] += px;
tot[1][i] += py;
}
for(i=0; i<n; i++){
tot[0][i] = 320 + tot[0][i];
tot[1][i] = 240 - tot[1][i];
}
setcolor(LIGHTRED);
moveto(tot[0][0], tot[1][0]);
for(i=0; i<n; i++){
lineto(tot[0][i], tot[1][i]);
moveto(tot[0][i], tot[1][i]);
}
lineto(tot[0][0], tot[1][0]);
}
void main(){
int gd=DETECT, gm;
initgraph(&gd, &gm,"\\tc");
float mat1[MAX][MAX], mat2[MAX][MAX];
int ch, n;
while(1){
clrscr();
cleardevice();
printf("\n SCALING w.r.t a point");
printf("\n ~~~~~~~~~~~~~~~~~~~~~~\n");
printf("\n 1 -> LINE.");
printf("\n 2 -> TRIANGLE.");
printf("\n 3 -> RECTANGLE");
printf("\n 4 -> Exit.");
printf("\n Enter your choice: ");
scanf("%d", &ch);
clrscr();
cleardevice();
switch(ch){
case 1: // LINE.
n=2;
break;
case 2: // TRIANGLE.
n=3;
break;
case 3: // RECTANGLE.
n=4;
break;
default:
gotoxy(10, 10);
printf(" Dev. By: Manoj Pandey.");
gotoxy(15, 15);
printf("MCA 3d Sem.");
getch();
closegraph();
exit(1);
} // end of switch.
GetCords(mat1, mat2, n); // Input of Coordinates.
pointScale(mat2, n); // Scaling and Displaying.
getch();
} // end of while.
} // end of main.
C++ Graphics – 19 – ROTATION of LINE, TRIANGLE and RECTANGLE w.r.t a Point
ROTATION of LINE, TRIANGLE and RECTANGLE w.r.t a Point.
#include <math.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <graphics.h>
const int MAX = 5;
const double PI = 3.14;
void GetCords(float mat1[][MAX], float mat2[][MAX], int n){
int i, j;
for(i=0; i<n; i++){
printf("\n Enter Coordinate no %d:- \n", i+1);
for(j=0; j<2; j++){
scanf("%f", &mat1[j][i]);
}
}
for(i=0; i<n; i++){
mat2[0][i] = mat1[0][i];
mat1[0][i] = 320 + mat1[0][i];
mat2[1][i] = mat1[1][i];
mat1[1][i] = 240 - mat1[1][i];
}
setcolor(GREEN);
line(0, 240, 640, 240);
outtextxy(630, 245, "x");
line(320, 0, 320, 480);
outtextxy(310, 0, "y");
outtextxy(280, 245, "(0,0)");
setcolor(YELLOW);
moveto(mat1[0][0], mat1[1][0]);
for(i=0; i<n; i++){
lineto(mat1[0][i], mat1[1][i]);
moveto(mat1[0][i], mat1[1][i]);
}
lineto(mat1[0][0], mat1[1][0]);
}
void pointRotate(float mat2[][MAX], int n){
int ang, i, j, k;
float tmat[MAX][MAX], tot[MAX][MAX];
float rad;
int px, py;
// Get a Point.
px = mat2[0][0];
py = mat2[1][0];
printf("\n Enter the Angle (in Degrees):- \n");
scanf("%d", &ang);
// Inv Translation to Origin.
for(i=0; i<n; i++){
mat2[0][i] -= px;
mat2[1][i] -= py;
}
// Rotation.
rad = (ang * PI) / 180;
tmat[0][0] = cos(rad);
tmat[0][1] = -sin(rad);
tmat[1][0] = sin(rad);
tmat[1][1] = cos(rad);
for(i=0; i<2; i++){
for(j=0; j<n; j++){
tot[i][j] = 0;
for(k=0; k<2; k++){
tot[i][j] = tot[i][j] + (tmat[i][k] * mat2[k][j]);
}
}
}
// Trnaslate from the Origin.
for(i=0; i<n; i++){
tot[0][i] += px;
tot[1][i] += py;
}
for(i=0; i<n; i++){
tot[0][i] = 320 + tot[0][i];
tot[1][i] = 240 - tot[1][i];
}
setcolor(LIGHTRED);
moveto(tot[0][0], tot[1][0]);
for(i=0; i<n; i++){
lineto(tot[0][i], tot[1][i]);
moveto(tot[0][i], tot[1][i]);
}
lineto(tot[0][0], tot[1][0]);
}
void main(){
int gd=DETECT, gm;
initgraph(&gd, &gm,"\\tc");
float mat1[MAX][MAX], mat2[MAX][MAX];
int ch, n;
while(1){
clrscr();
cleardevice();
printf("\n ROTATION w.r.t a point");
printf("\n ~~~~~~~~~~~~~~~~~~~~~~\n");
printf("\n 1 -> LINE.");
printf("\n 2 -> TRIANGLE.");
printf("\n 3 -> RECTANGLE");
printf("\n 4 -> Exit.");
printf("\n Enter your choice: ");
scanf("%d", &ch);
clrscr();
cleardevice();
switch(ch){
case 1: // LINE.
n=2;
break;
case 2: // TRIANGLE.
n=3;
break;
case 3: // RECTANGLE.
n=4;
break;
default:
gotoxy(10, 10);
printf(" Dev. By: Manoj Pandey.");
gotoxy(15, 15);
printf("MCA 3d Sem.");
getch();
closegraph();
exit(1);
} // end of switch.
GetCords(mat1, mat2, n); // Input of Coordinates.
pointRotate(mat2, n); // Rotating and Displaying.
getch();
} // end of while.
} // end of main.





