Nptel Problem Solving Through Program In C assignment 11 program
1.
float k,f;
int i, j;
for(i=0; i<5; ++i)
{
f = v[i];
for(j=0; j<5; ++j)
if(i!=j)
f*=(a-t[j])/(t[i]-t[j]);
k+=f;
}
2.
float hIntegral=0, h = (b-a)/n;
int i;
for(i =1; i < n; ++i)
hIntegral += func(a+i*h);
integral = (h/2)*(func(a)+2*hIntegral+func(b));
printf("The integral is: %0.6f\n",integral);
}
float func(float x)
{
return x*x;
}
3.
float x0,y0,k1,k2,k3,k4,h,k;
x0 = 0.3;
y0 = 2;
h = 0.2;
while(x0<xn)
{
k1 = func(x0,y0);
k2 = func((x0+h/2.0),(y0+k1*h/2.0));
k3 = func((x0+h/2.0),(y0+k2*h/2.0));
k4 = func((x0+h),(y0+k3*h));
k=((k1+2*k2+2*k3+k4)/6);
y0+=k*h;
x0+=h;
}
printf("y=%f\n",y0);
return 0;
}
float func(float x, float y)
{
return (x*(2*x+1)/10-(3*y*y/10));
}
4.
int checkPrime(int num, int i)
{
if (i == 1)
{
return 1;
}
else
{
if (num % i == 0)
{
return 0;
}
else
{
return checkPrime(num, i - 1);
}
}
}
5.
char* reverse(char str[])
{
static int i = 0;
static char rev[100];
if(*str)
{
reverse(str+1);
rev[i++] = *str;
}
return rev;
}
{
static int i = 0;
static char rev[100];
if(*str)
{
reverse(str+1);
rev[i++] = *str;
}
return rev;
}