Skip to main content

C programs QnA

Q. If sum of two integer is 14 and if one of them is 8 then find other integer. Ans: Well, this is very simple. Simply, one integer is 8 and sum of two integers is 14. So, we need to subtract the number 8 from their sum of 14 to get the second number. So, the second number is: 14 - 8 = 6 C-Program of this task Code---> #include<stdio.h> int main () { int num1 = 8 , num2 , sum = 14 ; num2 = sum - num1 ; printf ( "The second number is: %d" , num2 ); return 0 ; }

Write a C program to find the root of equation using Newton Raphson Method. Equation: 2x^3-6x^2+6x-1



In this C program we will find the root of equation using Newton Raphson Method. The equation is: 2x^3-6x^2+6x-1
The allowed error is: 0.001


Introduction:

Introduction:From NewtonRaphson Method we know, Xn+1=Xn-[f(x)/f'(x)].
Here we consider three functions one to generate the given equation, other to generate the derivative of the given equation. And the other to find out the root of the equation by using Newton Raphson Method. For this here we passes two values given by the users.

input:

a and b, two arbitrary values will be given by the user.

output:

The root of the equation.

CODE---->


// c program for implementation of newton raphson method to solve this equation: 2x^3-6x^2+6x-1
#include<stdio.h>
#include<math.h>
//function for the given equation
float fun(float x)
{
	return(2*(pow(x,3))-6*(pow(x,2))+6*x-1);
}
//function for the derivative of given function that is 6x^2-12x+6
float diff(float x)
{
	return(6*(pow(x,2))-12*x+6);
}
//function to find out the root of the equation
void raphson(float a,float b)
{
	float temp=0,k,h;
	k=(a+b);
	k=k/2;
	if(fun(a)*fun(b)>=0)
	{
		printf("\nWrong input");
	}
	else
	{
		do
		{   printf("\nXn = %f ",k);
			temp=k;
			printf(" f(Xn) = %f ",fun(k));
			printf(" f'(Xn) = %f ",diff(k));
			h=(fun(k)/diff(k));
			printf(" h = %f ",h);
			k=k-h;
		}while(fabs(temp-k)>=0.001);
		printf("\nThe ans is: %f",k);
	}
}
int main()
{   
	int a,b;
	printf("\nEnter two values: ");
	scanf("%d %d",&a,&b);
	raphson(a,b);
	return 0;
}


Download the C-Program file of this Program.
Download the MS-Word file of this whole assignment with algorithm.

Don't just read, run on your pc !!!


RESULT :



Enter two values: 1
0

Xn = 0.500000  f(Xn) = 0.750000  f'(Xn) = 1.500000  h = 0.500000
Xn = 0.000000  f(Xn) = -1.000000  f'(Xn) = 6.000000  h = -0.166667
Xn = 0.166667  f(Xn) = -0.157407  f'(Xn) = 4.166667  h = -0.037778
Xn = 0.204444  f(Xn) = -0.007028  f'(Xn) = 3.797452  h = -0.001851
Xn = 0.206295  f(Xn) = -0.000016  f'(Xn) = 3.779804  h = -0.000004
The ans is: 0.206299
--------------------------------
Process exited after 6.369 seconds with return value 0
Press any key to continue . . .


Images for better understanding :
Write a C program to find the root of equation using Newton Raphson Method. Equation: 2x^3-6x^2+6x-1. pic 1 Write a C program to find the root of equation using Newton Raphson Method. Equation: 2x^3-6x^2+6x-1. pic 2 Write a C program to find the root of equation using Newton Raphson Method. Equation: 2x^3-6x^2+6x-1. pic 3 Write a C program to find the root of equation using Newton Raphson Method. Equation: 2x^3-6x^2+6x-1. pic 4

Discussion:

The Newton-Raphson method is an iterative approach to finding the roots of some differentiable function f(x)f(x). The method is advantageous, because it is simple to implement, and when it works, it approaches x∗quadratically and is relatively efficient. Basically, Newton's method works best when applied to find non-repeated roots of a differentiable function, because it guarantees quadratic convergence. It require the derivatives of f(x)), if complicated then this method will tend to fail. It require very accurate initial value or initial guess Xo. Must be near the root you need to approximate.

Comments

Popular posts from this blog

C-program of printing "Hello World", 10 times on the screen.

In this C program we will print "Hello World", 10 times on the screen. We will use "body-less-loop" for this C-Program. "Body-less-loop" : it means that the inner part(code block to be executed) of the loop will be empty and the loop will have a semi-colon(;) in it's end. i.e: for ( .....  ; .....  ; .....  ) ; input: Null. output: "Hello World" will be printed on the screen, 10 times. CODE----> #include<stdio.h> int main() {      int i;      for( i=1 ; i<=10 ;printf( "   Hello World ! \n ", i++ )) ;      return 0 ; } Don't just read, write it, run it..... RESULT :

Calculate sum of 5 numbers using Array in C-language

In this C -program we will scan the numbers using array and then we will calculate the sum of the given numbers, also using array. The numbers will be taken from the user. input: 5 numbers.(i.e : 5,6,9,56,548) output: The sum of the given numbers will be printed on the screen. CODE----> #include<stdio.h> #include<stdlib.h> main() { int arr[5],i,sum=0; printf ("       Enter Five numbers : "); for ( i=0 ; i<5 ; i++ ) {       scanf (" %d ",&arr[i]); } for ( i=0 ; i<5 ; i++ ) {      sum=sum+arr[i]; } printf (" \n      The sum of the given 5 numbers is : %d\n ",sum); system (" pause "); } Don't just read, write it, run it..... RESULT :

Linear Queue Program in C-Language

In this C program we will perform operations over Linear Queue ( i.e: Data insert Operation, Data remove Operation and display Operation ). The Choice( i.e: data insert,remove or display ) will be made by the user and The Number will be taken from the user( i.e: For Data insert Operation ). input: The Choice(i.e Data insert, remove or display) & The Number (integers) (i.e. for Data insert Operations) (15,10,128 etc.) output: The Operations will be excecuted as choosen by the user. CODE----> #include<stdio.h> #include<stdlib.h> #define MAXSIZE 10 int Q [ MAXSIZE ], front =- 1 , rear =- 1 ; void qinsert ( int x ) { if ( rear == MAXSIZE - 1 ) printf ( "\n Queue is Full." ); else if ( front ==- 1 ) { front = 0 ; rear = 0 ; Q [ front ]= x ; } else { rear ++; Q [ rear ]= x ; } } void qdelete () { if ( front ==- 1 ) printf ( "\n Queue is Empty." ); else if ( front == rear ) { printf ( "