# Program no.

1
Write a program in C to find sum and average of square of
first 100 natural numbers.
/* PROGRAM TO CALCULATE SUM AND AVERAGE OF 100 NATURAL
NUMBERS*/
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main( )
{
int i, n=100,sum=0, p;
float avg;
for (i=1;i<=n;i++)
{
p=i*i ;
sum=sum+p;
}
avg =sum/(i-1);
printf ("\n The sum is %d", sum);
printf ("\n The average is %f", avg);
}
OUTPUT:
The sum is 10670
The average is 106.000000
progam NO.2
/*PROGRAM TO FIND PRODUCT OF 1ST 'N' NATURAL NUMBERS*/
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
int i,n;
long int prod;
clrscr();
printf("\nEnter the value of n:\t");
scanf("%d",&n);
i=1,prod=1;
a5:

i=i+1;
prod=prod*i;
if(i<n)
goto a5;
printf("\nProduct of 1st %d natural
numbers:\t%ld",n,prod);
getch();
}
Output:
Enter the value of n:

5

Product of 1st 5 natural numbers: 120

Program no. 3
Write a program in C to calculate simple and compound
interest.
/* PROGRAM TO CALCULATE SIMPLE AND COMPOUND INTEREST */
#include<stdio.h>
#include<math.h>
#include<conio.h>
void main()
{
float p,r,t,si,ci,a,v;
clrscr();
printf ("\n Principal amount p=");
scanf ("%f",&p);
printf("\n rate of interest r= ");
scanf("%f",&r);
printf("\n Time period t=");
scanf("%f",&t);
si=(p*r*t)/100;
v=1+(r/100);
a=p*pow(v,t);
ci=a-p;
printf("\n Simple Interest = %f",si);
printf("\n Compound Interest = %f",ci);
getch();
}

OUTPUT:
Principal amount p =5000
Rate of interest r =10
Time period t =12
Simple Interest = 6000.000000
Compound Interest = 10692.14188

Program no 4
/* FIBBONACCI SERIES */
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
clrscr();
int i;
double x1,x2,x;
x1=1;
x2=1;
printf("%12.0f\t%12.0f",x1,x2);
for(i=3;i<=25;i++)
{
x=x1+x2;
x1=x2;
x2=x;
printf("%12.0f",x);
}
getch();
}
OUTPUT:
1

1

2

3

5

8

13

21

Program no.5
/*GENERATING PRIME NO. BETWEEN 1 AND 100*/
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
int i,j,count=0;
clrscr();
printf("\nprime nos. between 1 and 100\n");
for(i=1;i<=100;i++)
{
if(i==2)
i++;
j=2;
while(j<=(i/2))
{
if(i%j==0)
break;
j++;
}
if(j>(i/2))
{
count++;
printf("\t%d",i);
}
if(count%5==0)
printf("\n");
}
getch();
}
output:
prime nos. between 1 and 100
2

3

5

7

11

13

17

19

23

29

31

37

41

43

47

53

59

61

67

71

73

79

83

89

97

Program no.6
Write a program in C to generate prime nos. between 1 and
100 except
those divisible by 5.
/* GENERATE PRIME NOS. BETWEEN 1 AND 100 EXCEPT THOSE
DIVISIBLE BY 5*/
#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
int n1=1,n2=100,j,i,temp,k=0,flag=0;
for (i=n1;i<=n2;i++)
{
temp=i;
if (temp==2)
{
flag=1;
}
if (temp%5==0)
{
flag=0;
continue;
}
for (j=2;j<=temp/2;j++)
{
if (temp%j!=0)
{
flag=1;
}
else
{

flag=0;
break;
}
}
if (flag==1)
{
printf ("\t %d",temp);
}
}
}
OUTPUT:
2
31
71

3
37
73

7
41
79

11
43
83

13
47
89

17
53
97

19
59

23
61

29
67

Program no. 7
/* to sort a list of 5 numbers in ascending order*/
#include<stdio.h>D#include<conio.h>
#include<math.h>
void main()
{
int i,j,t;
int n[5]; clrscr();
//to enter the data
printf("\n enter the 5 numbers to be sorted\n");
for(i=0;i<5;i++)
scanf("%d",&n[i]);
//the sorting operation
for(j=0;j<5;j++)
for(i=0;i<4-j;i++)
if(n[i]>n[i+1])
{
t=n[i];
n[i]=n[i+1];
n[i+1]=t;
}
//to print the sorted list

printf("output:");
for(i=0;i<5;i++)
printf("\n%d ",n[i]);
getch();
}

OUTPUT:
enter the
23
14
21
18
9
output:
9
14
18
21
23

5 numbers to be sorted

Program no 8
/*CALCULATION OF THE VALUE OF nCr*/
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
int n,r,y;
clrscr();
printf("\nCALCULATION OF nCr");
printf("\nenter the value of n ,r");
scanf("%d%d",&n,&r);
y=fact(n)/(fact(r)*fact(n-r));
printf("\n%dC%d = %d",n,r,y);
getch();
}
int fact (int a)
{
int f=1,j;
if((a==0)&&(a==1))
return(1);

else
{
for(j=1;j<=a;j++)
f=f*j;
return(f);
}
}

OUTPUT:
CALCULATION OF nCr
enter the value of n ,r 8 3
8C3 = 56

Program no. 9
/*SUM OF DIGITS OF A GIVEN NUMBER*/
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
int num,p,sum=0;
clrscr();
printf("\nenter any number == ");
scanf("%d",&num);
while(num!=0)
{
p=num%10;
sum=sum+p;
num=num/10;
}
printf("\nsum of digit of given number == ");
printf("%d",sum);
getch();
}
OUTPUT:

enter any number == 2319
sum of digit given number == 15

Program no. 10
/*CALCULATION OF TAXABLE INCOME*/
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
float income,tax;
clrscr();
printf("\nenter taxable income:");
scanf("%f",&income);
if(income<=22000)
tax=0.0;
else if(income<=30000)
tax=0.1*(income-22000);
else if(income<=50000)
tax=800+0.2*(income-30000);
else if(income<=100000)
tax=4800+0.3*(income-50000);
else
tax=19800+0.4*(income-100000);
printf("\namount of tax on Rs%f equals to Rs
%f",income,tax);
getch();
}
output:
enter taxable income:132000

amount of tax on Rs132000.000000 equals to
Rs32600.000program no. 11
/* CALCULATION OF SINE SERIES */
#include<stdio.h>
#include<math.c>
#include<conio.h>
int fact (int a);
void main()
{
double x,sum1=0.0,sum2=0.0,sum=0.0;
int y,i;
clrscr();
printf("\nenter the value for x:");
scanf("%lf",&x);
for(i=1;i<=30;i=i+4)
sum1=sum1+((pow(x,i))/fact(i));
for(i=3;i<=30;i=i+4)
sum2=sum2+((pow(x,i))/fact(i));
sum=sum1-sum2;
printf("sum of cosine series cos(%lf)==%lf",x,sum);
getch();
}
//END OF MAIN
/*

FUNCTION SUB PROGRAM

*/

int fact (int a)
{
int f=1,j;
if(a==0)
return(1);
else
{
for(j=1;j<=a;j++)
f=f*j;
return(f);
}
}
OUTPUT:

enter the value for x:1
sum of sine series sin(1.000000)==0.841471
Program no 12
/*CALCULATION OF COSINE SERIES*/
#include<stdio.h>
#include<math.h>
#include<conio.h>
long fact (int a);
void main()
{
double x,sum1=0.0,sum2=0.0,sum=0.0;
int y,i;
clrscr();
printf("\nenter the value for x:");
scanf("%lf",&x);
for(i=0;i<=30;i=i+4)
sum1=sum1+((pow(x,i))/fact(i));
for(i=2;i<=30;i=i+4)
sum2=sum2+((pow(x,i))/fact(i));
sum=sum1-sum2;
printf("sum of cosine series cos(%lf)==%lf",x,sum);
getch();
}
long fact (int a)
{
int j;
long f=1;
if(a==0)
return(1.0);
else
{
for(j=1;j<=a;j++)
f=f*j;
return(f);
}
}
OUTPUT:
enter the value for x:2
sum of cosine series cos(2.000000)==-1.350759

Program no.13
Write a program in C to find out the average marks of
students and print the marks of the topper.
/* PROGRAM TO FIND OUT AVERAGE MARKS OF STUDENTS */
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
int stu[20][20],i,j,m,n,roll=0;
float avg[20],sum=0.0,max=0.0;
clrscr();
printf("\n Enter the number of students =");
scanf("%d",&n);
printf ("\n Enter the number of subjects =");
scanf ("%d",&m);
for(i=1;i<=n;i++)
{
printf("\n Enter marks for %d student =",i);
for(j=1;j<=m;j++)
{
printf("\n Subject %d",j);
scanf("%d",&stu[i][j]);
}
}
for(i=1;i<=n;i++)
{
printf("\n The average of the %d student =\n",i);
sum=0.0;
avg[i]=0.0;
for(j=1;j<=m;j++)
{
sum=sum+stu[i][j];
}
avg[i]=(sum/m-1);
printf("%f\n",avg[i]);
if(avg[i]>max)
{
max=avg[i];
roll=i;
}
}
printf("\n The topper of the class is student %d with

average =%f",roll,max);
getch();
}

OUTPUT:
Enter the number of students =3
Enter the number of subjects =5
Enter marks for 1 student
Subject 1=69
Subject 2=58
Subject 3=45
Subject 4=10
Subject 5=35
Enter marks for 2 student
Subject 1=47
Subject 2=25
Subject 3=16
Subject 4=97
Subject 5=46
Enter marks for 3 student
Subject 1=30
Subject 2=90
Subject 3=76
Subject 4=58
Subject 5=47
The average of the 1 student = 42.400002
The average of the 2 student = 45.200001
The average of the 3 student = 59.200001
The topper of the class is student 3 with average =
59.200001
Program no.14
Write a program in C to reverse the digits of a number and
find the sum of its digits.
/* PROGRAM TO REVERSE THE DIGITS OF A NUMBER AND FIND THE

SUM OF ITS DIGITS */
#include<stdio.h>
#include<conio.h>
void main()
{
int n1,n2=0,rem,sum=0;
printf ("\n Enter the number to be reversed=");
scanf ("%d",&n1);
while (n1>0)
{r
rem=n1%10;
n1=n1/10;
n2=n2*10+rem;
}
printf ("\n The reversed number is %d",n2);
while (n2>0)
{
rem=n2%10;
n2=n2/10;
sum=sum+rem;
}
printf ("\n The sum of digits of reversed number is
%d",sum);
}
OUTPUT:
Enter the number to be reversed =4567
The reversed number is 7654
The sum of digits of reversed number is 22
Programme no. 15
Write a program in C to find the sum, mean standard deviation
and
variance of any numbers.
/*......STANDARD DEVIATION AND VARIATION ........*/
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
clrscr();
int n;

float x[20],sum;
float am,var,sd;
int i;
printf("\n enter the no. of terms=");
scanf("%d",&n);
printf("\n enter %d values \n",n);
for(i=0;i<n;i++)
scanf("%f",&x[i]);
sum=0.0;
for(i=0;i<n;i++)
sum = sum+x[i];
am = sum/n;
sum = 0.0;
for(i=0;i<n;i++)
sum = sum+((x[i]-am)*(x[i]-am));
var = sum/n;
sd = sqrt(var);
printf("\n ARITHMETIC MEAN, STD. DEVIATION AND VARIANCE
=");
printf("%f\t%f\t%f",am,var,sd);
getch();
}
OUTPUT:
Enter the no. of terms= 5
Enter 5 values
4
9
8
6
12
Arithmetic MEAN, STD. DEVIATION and VARIANCE =7.800000
7.360000 2.712932
Programme no. 16
Write a program in C to convert binary number to decimal
number.
/* CONVERT BINARY NUMBER TO DECIMAL NUMBER */
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()

{
int num[10];
int i,x=2,j,y=0,n;
printf ("\n Enter the number of elements of binary
number=");
scanf ("%d",&n);
j=n-1;
for (i=0;i<n;i++)
{
printf ("\n Enter the number[%d]=",i);
scanf ("%d",&num[i]);
}
while (j>=0)
{
for (i=0;i<n;i++)
{
y=y+num[i]*(pow(x,j));
j--;
}
}
printf (" The decimal number is %d",y);
}
OUTPUT:
Enter the number of elements of binary number= 5
Enter the number[0]= 1
Enter the number[1]= 0
Enter the number[2]= 1
Enter the number[3]= 1
Enter the number[4]= 1
The decimal number is 23

Programme no.17
Write a program in C to convert decimal number to
binary number.
/* CONVERT DECIMAL NUMBER TO BINARY NUMBER */
#include<stdio.h>
#include<conio.h>
void main()
{

int i=0,j,n;
int rem[10];
printf ("\n Enter the number=");
scanf ("%d",&n);
do
{
rem[i]=n%2;
i=i+1;
n=n/2;
}
while (n>0);
for (j=i-1;j>=0;j--)
{
printf ("The binary number is %d",rem[j]);
}
}
OUTPUT:
Enter the number= 123
The binary number is 1111011
program no.18
Write a program in C to add two rectangular matrices.
#include<stdio.h>
#include<conio.h>
void main()
{
int mat1[10][10],mat2[10][10],mat3[10][10];
int i,j,m,n;
clrscr();
printf ("\n The number of rows are=");
scanf ("%d",&m);
printf ("\n The number of columns are=");
scanf ("%d",&n);
for (i=0;i<m;i++)
{
for (j=0;j<n;j++)
{
printf ("\n The matrix 1 is [%d][%d]=",i,j);
scanf ("%d",& mat1[i][j]);
}
}
for (i=0;i<m;i++)
{

for (j=0;j<n;j++)
{
printf ("\n The matrix 2is [%d][%d]=",i,j);
scanf ("%d",& mat2[i][j]);
}
}
for (i=0;i<m;i++)
{
for (j=0;j<n;j++)
{
mat3[i][j]= mat1[i][j]+mat2[i][j];
}
}
for (i=0;i<m;i++)
{
for (j=0;j<n;j++)
{
printf ("\n The resultant matrix is
%d\n",mat3[i][j]);
}
printf ("\n");
}
}

OUTPUT:
The
The
The
The
The
The
The
The
The
The

number
number
matrix
matrix
matrix
matrix
matrix
matrix
matrix
matrix

of rows are=2
of columns are=2
1 is [0][0]= 1
1 is [0][1]= 2
1 is [1][0]= 3
1 is [1][1]= 4
2 is [0][0]= 5
2 is [0][1]= 6
2 is [1][0]= 7
2 is [1][1]= 8

The resultant matrix is

6 8
10 12
Program no. 19
/*MULTIPLICATION OF MATRIX*/
#include<stdio.h>
#include<conio.h>
void main()
{int m,n,p,q,i,j,k;
int a[10][10],b[10][10],c[10][10];
clrscr();
printf("\nenter no. of row and col of matrix a:");
scanf("%d%d",&m,&n);
printf("\nenter no. of row and col of matrix b:");
scanf("%d%d",&p,&q);
if(n!=p)
{
printf("\nmatrix can't be multiplied\n");
goto end;
}
printf("\nenter matrix a\n");
for(i=0;i<m;i++)
{ for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
}
printf("\nenter matrix b\n");
for(i=0;i<p;++i)
{ for(j=0;j<q;j++)
scanf("%d",&b[i][j]);
}
for(i=0;i<m;i++)
for(j=0;j<n;j++)
{ c[i][j]=0;
for(k=0;k<n;k++)
c[i][j]=c[i][j]+a[i][k]*b[k][j];
}
printf("the product ofmatrix is:");
for(i=0;i<m;i++)
{printf("\n");
for(j=0;j<q;j++)
printf("%3d",c[i][j]);
}
end:
getch();

}
output:
enter no. of row and col of matrix a:3 3
enter no. of row and col of matrix b:3 2
enter matrix a
0 1 2
1 2 3
2 3 4
enter matrix b
1 -2
-1 0
2 -1
the product ofmatrix is:
3 -2
5 -5
7 -8

program no.20
/*BISECTION METHOD*/
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{ float fun(float m);
float x1,x2,x3,p,q,r;
int i=0;
clrscr();
l10: printf("\nequation:x*(exp(x)-1) ");
printf("\nenter the app value of x1,x2:");
\scanf("%f %f",&x1,&x2);
if(fun(x1)*fun(x2)>0)
{ printf("\n wrong values entered...enter again:\n");
goto l10;}
else
printf("\n the root lies b/w %f & %f",x1,x2);
printf("\n n
x1
x2
x3
f(x1)
f(x2)
f(x3)");

l15: x3=(x1+x2)/2;
p=fun(x1);
q=fun(x2);
r=fun(x3);
i=i++;
printf("\n%d
%f
%f
%f
%f
%f
%f",i,x1,x2,x3,p,q,r);
if((p*r)>0)
x1=x3;
else
x2=x3;
if((fabs((x2-x1)/x2))<=0.001)
{printf("\n root of the equ is %f",x3);
getch();
exit(0);}
else goto l15;
}
float fun(float m)
{float g;
g=(m*(exp(m))-1);
return(g);
}

/*output:
equation:x*(exp(x)-1)
enter the app value of x1,x2:0.5 1

the root lies b/w 0.500000 & 1.000000
n
x1
x2
x3
f(x3)
1
0.500000
1.000000
0.750000
1.718282
0.587750
2
0.500000
0.750000
0.625000
0.587750
0.167654
3
0.500000
0.625000
0.562500
0.167654
-0.012782
4
0.562500
0.625000
0.593750
0.167654
0.075142
5
0.562500
0.593750
0.578125
0.075142
0.030619
6
0.562500
0.578125
0.570312
0.030619
0.008780
7
0.562500
0.570312
0.566406
0.008780
-0.002035
8
0.566406
0.570312
0.568359
0.008780
0.003364
9
0.566406
0.568359
0.567383
0.003364
0.000662
10
0.566406
0.567383
0.566895
0.000662
-0.000687
root of the equ is 0.566895

f(x1)

f(x2)

-0.175639
-0.175639
-0.175639
-0.012782
-0.012782
-0.012782
-0.012782
-0.002035
-0.002035
-0.002035

programme no 21
/*NEWTON RALPHSON*/
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
float f(float a);
float df(float a);
int i=1;
float x0,x1,p,q;
float error =0.0001,delta =0.001;
clrscr();
printf("\n\nThe equation is X^3+1.2X^2-5X-7.2");
printf("\nenter the initial value of x0:");
scanf("%f",&x0);
printf("\n i
x0
x1
f(x0)
df(x0)\n ");
if (fabs (df(x0))<delta)
{printf("slope is very small and= %f",df(x0));}

a10: else p=f(x0);q=df(x0);
x1=x0-(p/q);
i++;
printf("\n %d\t%f\t%f\t%f\t%f\n",i,x0,x1,p,q);
if(fabs((x1-x0)/x1)<=error)
{printf("\nThe root of equation X^3+1.2X^2-5X-7.2 is
%f",x0);
getch();
exit(0);}
else
{x0=x1;
goto a10;}
}
/* Function sub program */
float f(float a)
{float g;
g = pow(a,3)+((1.2)*(pow(a,2)))-5*a-7.2;
return(g);}
float df(float a)
{
float g1;
g1 = (3*pow(a,2))+(2.4*a)-5;
return(g1);
}
/*
output:
The equation is X^3+1.2X^2-5X-7.2
enter the initial value of x0:2
i
df(x0)

x0

x1

f(x0)

2
2.000000
11.800000

2.372881

-4.400000

3
2.372881
17.586615

2.313010

1.052938

4
2.313010
16.601265

2.311227

0.029603

5
2.311227
16.572248

2.311225

0.000026

The root of equation X^3+1.2X^2-5X-7.2 is 2.311227

Programme no.22
/*REGULA-FALSE METHOD */
#include<stdio.h>
#include<conio.h>
#include<math.h>
float f(float x)
{return(3*x-cos(x)-1);
}
void main()
{
float f(float x);
double x1,x2,m;
int c=0;
clrscr();
b
printf("\n enter the first approximation :");
scanf("%f",&x1);
printf("\n enter the second approximation :");
scanf("%f",&x2);
if(f(x1)*f(x2)<0.0)
{
m=(x1*f(x2)-x2*f(x1))/(f(x2)-f(x1));
while(fabs(f(m))>=0.0001)
{
c++;
if(f(x1)*f(m)<0.0)
x2=m;
else
x1=m;
m=((x1*f(x2))-(x2*f(x1)))/(f(x2)-f(x1));
printf("\n\n the %d,ilteration is %f ",c,m);
}
printf("\n\n the answer is repeated at %d ilteration
is %f",c,m);
}
else
printf("enter valid initial approximation :");
getch();
}

OUTPUT:
Enter the first approximation : 0
Enter the second approximation : 1

The
The
The
The

1,ilteration is 0.605959
2,ilteration is 0.607057
3,ilteration is 0.607100
answer is repeated at 3 ilteration is 0.607100

Program no.23

/*NEWTON GREGORY FORWARD INTERPOLATION*/
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
int n,i,j,k;
float mx[10],my[10],x,y=0,h,p,diff[20][20],y1,y2,y3,y4;
clrscr();
printf("\nenter no. of terms:");
scanf("%d",&n);
printf("\nenter values x\ty:\n");
for(i=0;i<n;i++)
scanf("%f%f",&mx[i],&my[i]);
printf("\nenter value of x at which y is to be
calculated:");
scanf("%f",&x);
h=mx[1]-mx[0];
for(i=0;i<n-1;i++)
diff[i][1]=my[i+1]-my[i];
for(j=2;j<=4;j++)
for(i=0;i<n;i++)
diff[i][j]=diff[i+1][j-1]-diff[i][j-1];
i=0;
do
{i++;
}while(mx[i]<x);
i--;
p=(x-mx[i])/h;
y1=p*diff[i-1][1];
y2=p*(p+1)*diff[i-1][2]/2;
y3=(p+1)*p*(p-1)*diff[i-2][3]/6;
y4=(p+2)*(p+1)*p*(p-1)*diff[i-3][4]/24;

y=my[i]+y1+y2+y3+y4;
printf("\nwhen x=%6.4f,y=%6.8f",x,y);
getch();
}

OUTPUT:
enter no. of terms:5
enter values x
3
13
5
23
11
899
27
17315
34
35606

y:

enter value of x at which y is to be calculated:7
when x=7.0000,y=899.00000000

Program no.24
/*NEWTON GREGORY BACKWARD INTERPOLATION*/
#include<stdio.h>
#include<conio.h>

#include<math.h>
void main()
{
int n,i,j,k;
float mx[10],my[10],x,x0=0,y0,sum=0,fun=1,h,p,diff[20]
[20],y1,y2,y3,y4;
clrscr();
printf("\nenter no. of terms:");
scanf("%d",&n);
printf("\nenter values x\ty:\n");
for(i=0;i<n;i++)
scanf("%f%f",&mx[i],&my[i]);
printf("\nenter value of x at which y is to be
calculated:");
scanf("%f",&x);
h=mx[1]-mx[0];
for(i=0;i<n-1;i++)
diff[i][1]=my[i+1]-my[i];
for(j=2;j<=4;j++)
for(i=0;i<n;i++)
diff[i][j]=diff[i+1][j-1]-diff[i][j-1];
i=0;
while(!mx[i]>x)
i++;
x0=mx[i];
y0=my[i];
p=(x-x0)/h;
sum=y0;
for(k=1;k<=4;k++)
{
fun=(fun*(p-(k-1)))/k;
sum=sum+fun*diff[i][k];
}
printf("\nwhen x=%6.4f,y=%6.8f",x,sum);
getch();
}
OUTPUT:
enter no. of terms:5
enter values x y:

20
40
60
80
100

41
103
168
218
235

enter value of x at which y is to be calculated:70
when x=70.0000,y=196.00000000
program no.25
/*LAGRANGE METHOD OF INTERPOLATION*/
#include<stdio.h>
#include<conio.h>
#include<math.h>
#define max 50
void main()
{
float ax[max],ay[max],nr,dr,x,y=0;
int i,j,n;
clrscr();
printf("\nEnter No. of Points:");
scanf("%d",&n);
printf("\nEnter the given set of values:\nx\ty\n");
for(i=0;i<n;i++)
scanf("%f%f",&ax[i],&ay[i]);
printf("\nEnter the value of x at which f(x)is
required:");
scanf("%f",&x);
for(i=0;i<n;i++)
{
nr=dr=1;
for(j=0;j<n;j++)
if(j!=i)
{
nr*=x-ax[j];
dr*=ax[i]-ax[j];
}
y+=(nr/dr)*ay[i];
}
printf("\nwhen x=%5.2f then y=%5.2f",x,y);
getch();
}
output:

Enter No. of Points:6
Enter the given set of values:
x
y
4
18
5
100
7
294
10
900
11
1210
13
2028
Enter the value of x at which f(x)is required:8
when x= 8.00 then y=445.62

Programme no.26
Write a program in C/C++ which can calculate the value of a
function at a point using Newton Divided Difference method.
/* NEWTON DIVIDED DIFFERENCE METHOD */
#include<iostream.h>
#include<conio.h>
#include<math.h>
void main()
{
float ax[20], ay[20], diff[30],temp=1;
int n,j,m,z=0,A=0,k=0;
clrscr();
cout<<"Enter the number of points=";
cin>>n;
for (int i=0;i<n;i++)
{
cout<<"Enter ( x"<<i+1<<" ,y"<<i+1<<" )\n";
cin>>ax[i]>>ay[i];
}
cout<<"Enter the value of x=";
cin>>ax[n];

// creating difference table
for (i=0;i<n-1;i++)
{
diff[i]= (ay[i+1]-ay[i])/(ax[i+1]-ax[i]);
}
if(n>1)
{
m=n-1;
A=0;
for(j=0;j<n-2;j++)
{
for(z=0;z<m-1;i++,z++)
{
diff[i]= (diff[z+1+A]-diff[z+A])/(ax[z+j+2]-ax[z]);
}
A+=m;
m--;
}
}
//printing difference table
cout<<"\n difference table is as follows:\n";
for(z=0;z<i;z++)
cout<<"\n"<<diff[z];
// now calculating value of y for x
ay[n]=ay[0];
m=n;
A=0;
for (z=0;z<n-1;z++)
{
temp*=(ax[n]-ax[z]);
ay[n]+=temp*diff[z+A];
A+=m-2;
m--;
}
cout<<"\n\n The value of y for x = "<<ax[n]<<"
is :"<<ay[n];
getch();
}

OUTPUT:
Enter the number of points=5
Enter (x1 ,y1 ) 5 150
Enter (x2 ,y2 ) 7 392
Enter (x3 ,y3 ) 11 1452
Enter (x4 ,y4 ) 13 2366
Enter (x5 ,y5 ) 17 5202
Enter the value of x=9
The difference table is as follows:
121
265
457
709
24
32
42
1
1
0
The value of y for x = 9 is: 810
Program no.27

/******BESSEL'S METHOD OF INTERPOLATION******/
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
int n , i , j ;
float ax[10] , ay[10] , x , y=0 , h , p , diff[20][20]
, y1 , y2 , y3 , y4 ;
clrscr();
printf("\nEnter the noumber of item : ");
scanf("%d" , &n);
printf("\nEnter the value in the form of x\n");
for(i = 0 ; i < n ; i++)
{
printf("\nEnter the value of x%d\t" , i+1);
scanf("%f" , &ax[i]);
}
printf("\nEnter the value in the form of y\n");
for(i = 0 ; i < n ; i++)
{
printf("\nEnter the value of y%d\t" , i+1);

scanf("%f" , &ay[i]);
}
printf("\nEnter the value of x for which you want the
value of y :- ");
scanf("%f" , &x);
h = ax[1] - ax[0];
for(i = 0 ; i < n-1 ; i++)
diff[i][1] = ay[i+1] - ay[i];
for(j = 2 ; j <= n ; j++)
for(i = 0 ; i < -j ; i++)
diff[i][j] = diff[i+1][j-1] - diff[i][j-1];
i=0;
do
{i++;
}while(ax[i] < x); i--;
p = (x - ax[i]) / h;
y1 = p * diff[i][1];
y2 = p * (p - 1) * (diff[i][2] + diff[i - 1][2]) / 4;
y3 = p * (p - 1) * (p - 0.5) * (diff[i-1][3]) / 6;
y4 = (p + 1) * p * (p - 1) * (p - 2) * (diff[i-2][4]
+ diff[i - 1][4]) / 48;
y = ay[i] + y1 +y2 + y3 + y4;
printf("\nWhen x = %6.4f , y = %6.8f" , x , y);
getch();
}
OUTPUT :Enter number of item : 4
Enter the value in the form of x
Enter
Enter
Enter
Enter

the
the
the
the

value
value
value
value

of
of
of
of

x1
x2
x3
x4

20
24
28
32

Enter the value in the form of y
Enter
Enter
Enter
Enter

the
the
the
the

value
value
value
value

of
of
of
of

y1
y2
y3
y4

24
32
35
40

Enter the value of x for which you want the value of y
:- 25
When x = 25.0000 , y = 32.945313

Programe no 28
/******STIRLING METHOD OF INTERPOLATION******/
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{ int n , i , j ;
float ax[10] , ay[10] , x , y=0 , h , p , diff[20][20] ,
y1 , y2 , y3 ,y4;

clrscr();
printf("\nEnter the noumber of item : ");
scanf("%d" , &n);
printf("\nEnter the value in the form of x\n");
for(i = 0 ; i < n ; i++)
{printf("\nEnter the value of x%d\t" , i+1);
scanf("%f" , &ax[i]); }
printf("\nEnter the value in the form of y\n");
for(i = 0 ; i < n ; i++)
{printf("\nEnter the value of y%d\t" , i+1);
scanf("%f" , &ay[i]); }
printf("\nEnter the value of x for which you want the
value of y :- ");
scanf("%f" , &x);
h = ax[1] - ax[0];
for(i = 0 ; i < n-1 ; i++)
diff[i][1] = ay[i+1] - ay[i];
for(j = 2 ; j <= n ; j++)
for(i = 0 ; i < -j ; i++)
diff[i][j] = diff[i+1][j-1] - diff[i][j-1];
i=0;
do
{ i++;
} while(ax[i] < x);
i--;
p = (x - ax[i]) / h;
y1 = p * (diff[i][1] + diff[i - 1][1]) / 2;
y2 = p * p * (diff[i - 1][2]) / 2;
y3 = p * (p * p - 1) * (diff[i - 1 ][3] + diff[i - 2]
[3]) / 12 ;
y4 = p * p * (p * p - 1) * diff[i-2][4] / 24;
y = ay[i] + y1 +y2 + y3 + y4;
printf("\nWhen x = %6.4f , y = %6.8f" , x , y);
getch();
}

OUTPUT :
Enter the number of item : 4
Enter the value in the form of x
Enter
Enter
Enter
Enter

the
the
the
the

value
value
value
value

of
of
of
of

x1
x2
x3
x4

20
24
28
32

Enter the value in the form of y
Enter
Enter
Enter
Enter

the
the
the
the

value
value
value
value

of
of
of
of

y1
y2
y3
y4

24
32
35
40

Enter the value of x for which you want the value of y
:- 25
When x = 25.0000 , y = 33.31251144
Program no.29
/*

TRAPEZOIDAL RULE */

#include<stdio.h>
#include<math.h>
#include<conio.h>
void main()
{
float fun(float);
float h , k1=0.0 ;
float x[20] , y[20];
int n , i;
clrscr();
printf("\nEnter number of parts : ");
scanf("%d" , &n);
printf("\nEnter lower and upper limits : ");
scanf("%f %f" , &x[0] , &x[n]);
y[0] = fun(x[0]);
h = (x[n] - x[0])/n ;

printf("\nx
y");
printf("\n %8.5f
%8.5f " , x[0] ,y[0]);
for(i=1 ; i < n ; i++)
{
x[i] = x[0] + i * h ;
y[i] = fun(x[i]);
printf("\n %8.5f
%8.5f " , x[i] , y[i]);
k1 = k1 + 2 * y[i];
}
y[n] = fun(x[n]);
printf("\n %8.5f %8.5f " , x[n] , y[n]);
y[0] = (h / 2.0 ) * (y[0] + y[n] + k1 );
printf("\nresult = %f \n" , y[0]);
getch();
}
float fun(float x)
{
float g;
g = log(x);
return g;
}
OUTPUT :Enter number of parts : 6
lower and upper limits : 4 5.2
x
y
4.00000
1.38629
4.24000
1.44456
4.48000
1.49962
4.72000
1.55181
4.96000
1.60141
5.20000
1.64866
result = 1.827570
program no.30
/* SIMPSION 1/3 RULE */
#include<stdio.h>
#include<math.h>
#include<conio.h>
void main()
{
float fun(float);
float h , k1=0.0 , k2=0.0 ;
float x[20] , y[20];
int n , i;

clrscr();
printf("\nEnter number of parts : ");
scanf("%d" , &n);
printf("\nEnter lower and upper limits :");
scanf("%f %f" , &x[0] , &x[n]);
y[0] = fun(x[0]);
h = (x[n] - x[0])/n ;
printf("\nx
y");
printf("\n%8.5f
%8.5f" , x[0] ,y[0]);
for(i=1 ; i < n ; i++)
{
x[i] = x[0] + i * h ;
y[i] = fun(x[i]);
printf("\n %8.5f
%8.5f " , x[i] , y[i]);
if(i % 2 == 0)
k1 = k1 + 2 * y[i];
else
k2 = k2 + 4 * y[i];
}
y[n] = fun(x[n]);
printf("\n %8.5f %8.5f " , x[n] , y[n]);
y[0] = (h / 3.0 ) * (y[0] + y[n] + k1 + k2 );
printf("\nresult =%f \n" , y[0]);
getch();
}
float fun(float x)
{
float g;
g = sin(x) - log(x) + exp(x);
return g;
}
OUTPUT :Enter number of parts : 6
Enter lower and upper limits :0.2 1.4
x
y
0.20000
3.02951
0.40000
2.79753
0.60000
2.89759
0.80000
3.16604
1.00000
3.55975
1.20000
4.06983
1.40000
4.70418
result = 4.052133program no.31
/*SIMPSION
#include<stdio.h>

3/8 RULE */

#include<math.h>
#include<conio.h>
void main()
{
float fun(float);
float h , k1=0.0 , k2=0.0 ;
float x[20] , y[20];
int n , i;
clrscr();
printf("\nEnter number of parts : ");
scanf("%d" , &n);
printf("\nEnter lower and upper limits : ");
scanf("%f %f" , &x[0] , &x[n]);
y[0] = fun(x[0]);
h = (x[n] - x[0])/n ;
printf("\nx
y");
printf("\n%8.5f
%8.5f" , x[0] ,y[0]);
for(i=1 ; i < n ; i++)
{
x[i] = x[0] + i * h ;
y[i] = fun(x[i]);
printf("\n %8.5f %8.5f " , x[i] , y[i]);
if(i % 3 == 0)
k1 = k1 + 2 * y[i];
else
k2 = k2 + 3 * y[i];
}
y[n] = fun(x[n]);
printf("\n %8.5f %8.5f " , x[n] , y[n]);
y[0] = ((3 *h) / 8.0 ) * (y[0] + y[n] + k1 + k2 );
printf("\nresult =%f \n" , y[0]);
getch();
}
float fun(float x)
{
float g;
g = sin(x) - log(x) + exp(x);
return g;
}
OUTPUT : Enter number of part parts : 6
Enter lower and upper limits : 0.2 1.4
x
0.20000
0.40000
0.60000

y
3.02951
2.79753
2.89759

0.80000
1.00000
1.20000
1.40000
result =
program no.32

3.16604
3.55975
4.06983
4.70418
4.05299

/* BOOLS RULE */
#include<stdio.h>
#include<math.h>
#include<conio.h>
void main()
{
float fun(float);
float h , k1=0.0 , k2=0.0 , k3=0.0 , k4=0.0;
float x[20] , y[20];
int n , i;
clrscr();
printf("\nEnter number of parts");
scanf("%d" , &n);
printf("\nEnter lower and upper limits :");
scanf("%f %f" , &x[0] , &x[n]);
y[0] = fun(x[0]);
h = (x[n] - x[0]) / n;
printf("\nx
y");
printf("\n%8.5f
%8.5f" , x[0] ,y[0]);
for(i=1 ; i < n ; i++)
{
x[i] = x[0] + i * h ;
y[i] = fun(x[i]);
printf("\n %8.5f %8.5f " , x[i] , y[i]);
if(i % 2 == 0)
k1 = k1 + 12 * y[i];
else
k2 = k2 + 32 * y[i];
}
y[n] = fun(x[n]);
printf("\n %8.5f %8.5f " , x[n] , y[n]);
y[0] = ((2 * h)/45) * (7 * y[0] + 7 * y[n] + k1 + k2 +
k3 + k4);
printf("\nresult =%f \n" , y[0]);
getch();
}
float fun(float x)
{
float g;
g = log(x);
return g;

}
OUTPUT :Enter number of parts : 6
Enter lower and upper limits : 4 5.2
x
4.00000
4.20000
4.40000
4.60000
4.80000
5.00000
5.20000
result =

y
1.38629
1.43508
1.48160
1.52606
1.56862
1.60944
1.64866
1.814274
program no.33
/* WEEDEL'S RULE */

#include<stdio.h>
#include<math.h>
#include<conio.h>
void main()
{
float fun(float);
float h , k1=0.0 , k2=0.0 , k3=0.0 , k4=0.0;
float x[20] , y[20];
int n , i;
clrscr();
printf("\nEnter number of parts : ");
scanf("%d" , &n);
printf("\nEnter lower and upper limits : ");
scanf("%f %f" , &x[0] , &x[n]);
y[0] = fun(x[0]);
h = (x[n] - x[0]) / n;
printf("\nx
y");
printf("\n%8.5f
%8.5f" , x[0] ,y[0]);
for(i=1 ; i < n ; i++)
{
x[i] = x[0] + i * h ;
y[i] = fun(x[i]);
printf("\n %8.5f %8.5f " , x[i] , y[i]);
if(i % 6 == 0)
k1 = k1 + 2 * y[i];
else if(i % 3 == 0)
k1 = k1 + 6 * y[i];
else if(i % 2 == 0)

k1 = k1 + y[i];
else
k4 = k4 + 5 * y[i];
}
y[n]= fun(x[n]);
printf(“\nf %8.5f " , x[n] , y[n]);
y[0] = ((3 * h)/10) * (y[0] + y[n] + k1 + k2 + k3 + k4);
printf("\nresult =%f \n" , y[0]);
getch();
}
float fun(float x)
{
float g;
g = sin(x) - log(x) + exp(x);
return g;
}

OUTPUT :Enter number of parts : 6
Enter lower and upper limits : 0.2 1.4
x
y
0.20000
3.02951
0.40000
2.79753
0.60000
2.89759
0.80000
3.16604
1.00000
3.55975
1.20000
4.06983
1.40000
4.70418
result = 4.051446
program no.34
/* GAUSS ELIMINATION METHOD */
#include<stdio.h>
#include<conio.h>
#include<math.h>
#define n 3
void main()
{

float temp , s , matrix[n][n+1] , x[n];
int i , j , k;
clrscr();
printf("\nEnter the elements of the augment matrix row
wise :\n");
for(i = 0 ; i < n ; i++)
{
for(j=0 ; j <= n ; j++)
scanf("%f" , &matrix[i][j]);
}
printf("\nmatrix:-");
for(i=0 ; i<n ; i++)
{
for(j=0 ;j<=n ;j++)
printf("%f\t",matrix[i][j]);
printf("\n");
}
//now calculating the upper triangular matrix
for(j=0 ; j < n-1 ; j++)
{
for(i=j+1 ; i < n ; i++)
{
temp = matrix[i][j] / matrix[j][j];
for(k = 0 ; k <= n ; k++)
matrix[i][k] -= matrix[j][k] * temp;
}
}
//now performing back substitution
for(i = n -1 ; i >= 0 ; i--)
{
s = 0;
for(j = i + 1 ; j < n ; j++)
s += matrix[i][j] * x[j];
x[i] = (matrix[i][n] - s) / matrix[i][i];
}
//now printing the result
printf("\nSolution is :-\n");
for(i = 0 ; i < n ; i++)
printf("\nx[%d]=%7.4f" , i+1 ,x[i]);
getch();
}

OUTPUT :Enter the elements of the augment matrix row wise :
3 1 -1 3
2 -8 1 -5
1 -2 9 8
matrix:3.000000
1.000000
-1.000000
3.000000
2.000000
-8.000000
1.000000
-5.000000
1.000000
-2.000000
9.000000
8.000000
Solution is :x[1]= 1.0000
x[2]= 1.0000
x[3]= 1.0000
program no 35
/* GAUSS JORDAN METHOD */
#include<stdio.h>
#include<conio.h>
#include<math.h>
#define n 3
void main()
{
float temp , matrix[n][n+1];
int i , j , k;
clrscr();
printf("\nEnter the elements of the augment matrix row
wise :-\n");
for(i = 0 ; i < n ; i++)
{
for(j=0 ; j <= n ; j++)
scanf("%f" , &matrix[i][j]);
}
/*now calculating the digonal matrix */
for(j=0 ; j < n ; j++)
{
for(i=0 ; i < n ; i++)
if(j != i)

{
temp = matrix[i][j] / matrix[j][j];
for(k = 0 ; k <= n ; k++)
matrix[i][k] -= matrix[j][k] * temp;
}
}
/*now printing the matrix */
printf("\nThe digonal matrix is :--\n");
for(i = 0 ; i < n ; i++)
{
for(j=0 ; j <= n ; j++)
printf("\t%f" , matrix[i][j]);
printf("\n");
}
//now printing the result
printf("\nSolution is :-\n");
for(i = 0 ; i < n ; i++)
printf("\nx[%d]=%7.4f" , i+1 ,matrix[i][n]/matrix[i][i]);
getch();
}
OUTPUT :Enter the elements of the augment matrix row
wise :3 1 -1 3
2 -8 1 -5
1 -2 9 8
The digonal matrix is :-3.000000
0.000000
0.000000
3.000000
0.000000
-8.666667
0.000000
-8.666667
0.000000
0.000000
8.884615
8.884615
Solution is :x[1]= 1.0000
x[2]= 1.0000
x[3]= 1.0000
Programme no.36
/* GAUSS SEIDAL METHOD */
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<process.h>
void main()
{
float a[10][10],x[10],aerr, maxerr, t, s, err;
int i,j,itr,maxitr,n;
clrscr();

printf ("\n Enter the number of unknowns=");
scanf ("%d",&n);
for(i=1;i<=n;i++)
x[i]=0.0;
printf ("\n Enter the augmented matrix row wise=");
for (i=1;i<=n;i++)
for (j=1;j<=n+1;j++)
scanf ("%f",&a[i][j]);
printf ("\n Enter allowed error, max iteration=");
scanf ("%f %d",&aerr,&maxitr);
printf ("\n Iteration");
for (i=1;i<=n;i++)
printf ("\n x[%d]",i);
for (itr=1;itr<=maxitr;i++)
{
maxerr=0;
for (i=1;i<=n;i++)
{
s=0;
for (j=1;j<=n;j++)
if (j!=i)
s = s+a[i][j]*x[j];
t = (a[i][n+1]-s)/a[i][i];
err=fabs(x[i]-t);
if (err>maxerr)
maxerr=err;
x[i]=t;
}
printf ("%d",itr);
for (i=1;i<=n;i++)
printf ("%7.4f",x[i]);
if (maxerr<aerr)
{
for (i=1;i<=n;i++)
printf ("x[%d]=%7.4f",i,x[i]);
exit(0);
}
}
getch();
}
OUTPUT:
Enter the number of unknowns = 3
Enter the augmented matrix row wise
20 1 -2 17
3 20 -1 -18
2 -3 20 25

Enter allowed error, max iteration=0.001 ,4
Iteration x[1]= 0.8500 -1.0275
x[2] = 1.01091 1.0025
x[3] = -0.9998 0.99981
1.0000 - 1.0000 1.0000
x[1]= 1.0000 x[2]=-1.0000 x[3]= 1.0000
Program no.37
/* CURVE FITTING - STRAIGHT LINE */
# include<iostream.h>
# include<conio.h>
# include<math.h>
void main()
{
int i=0,ob;
float
x[10],y[10],xy[10],x2[10],sum1=0,sum2=0,sum3=0,sum4=0;
clrscr();
double a,b;
printf("\n Enter the no. of observations :");
scanf(“%d”,&ob);
printf("\n Enter the values of x :\n");
for (i=0;i<ob;i++)
{
Printf("\n Enter the value of x[%d]",i+1);
Scanf(“%f”,&x[i]);
sum1+=x[i];
}
Printf(\n Enter the values of y :\n");
for (i=0;i<ob;i++)
{
Printf("\n Enter the value of y[%d]",i+1);
Scanf(“%f”,&y[i];
sum2+=y[i];
}
for(i=0;i<ob;i++)
{
xy[i]=x[i]*y[i];
sum3+=xy[i];
}
for(i=0;i<ob;i++)
{
x2[i]=x[i]*x[i];
sum4+=x2[i];
}
a=(sum2*sum4-sum3*sum1)/(ob*sum4-sum1*sum1);

b=(sum2-ob*a)/sum1;
printf("\n\n Equation of the STRAIGHT LINE of the form
y=a+b*x is “);
printf("\n\n\t\t\t y=[%f] + [%f]x.”a,b);
getch();
}

OUTPUT:
Enter the
Enter the
Enter the
Enter the
Enter the
Enter the
Enter the

no. of observations : 5
values of x :
value of x1 : 1
value of x2 : 2
value of x3 : 3
value of x4 : 4
value of x5 : 5

Enter
Enter
Enter
Enter
Enter
Enter

values of y :
value of y1: 14
value of y2: 27
value of y3: 40
value of y4: 55
value of y5: 68

the
the
the
the
the
the

Equation of the STRAIGHT LINE of the form y=a+b*x is :
y=0 + 13.6 x
Program no.38
/* RUNGA - KUTTA METHOD */
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
float f(float x , float y);
float x0 = 0.1 , y0 = 1 , xn = 2.1 , h =0.2 , k1 , k2 ,
k3 , k4 ;
int i , n ;

clrscr();
printf("\ndy/dx = (x^3 +y^2)/10 ");
printf("\ngiven y0=1 && x0= 0.1 && h=0.2 (in the range x0
< x <
2.1)\n");
n = (xn - x0) / h;
for(i = 0 ; i <= 10 ; i++)
{
k1 = h * f(x0 , y0);
k2 = h * f((x0 + h)/2 , (y0 + k1)/2);
k3 = h * f((x0 + h)/2 , (y0 + k2)/2);
k4 = h * f(x0 + h , y0 + k3);
y0 = y0 + (1 / 6.0) * (k1 + 2*k2 + 2*k3 + k4);
printf("\nThe solution of differential equation is
when x = %f y = %f \n" , x0 , y0);
x0 = x0 + h;
}
getch();
}
/* Function sub program */
float f(float x , float y)
{
float g;
g = (x*x*x + y*y) / 2 ;
return g ;
}

OUTPUT :dy/dx = (x^3 +y^2)/10
given y0 = 1 && x0 = 0.1 && h = 0.2 (in the range x0 <
x < 2.1)
The solution of differential equation is when x =
0.100000 y = 1.053870
The solution of differential equation is when x =
0.300000 y = 1.116833
The solution of differential equation is when x =

0.500000
The
0.700000
The
0.900000
The
1.100000
The
1.300000
The
1.500000
The
1.700000
The
1.900000
The
2.100000

y = 1.194833
solution of differential
y = 1.297048
solution of differential
y = 1.436797
solution of differential
y = 1.633150
solution of differential
y = 1.914011
solution of differential
y = 2.322503
solution of differential
y = 2.931453
solution of differential
y = 3.880822
solution of differential
y = 5.495997

equation is when x =
equation is when x =
equation is when x =
equation is when x =
equation is when x =
equation is when x =
equation is when x =
equation is when x =