Sign in to follow this  
Cornel Iulian

[C] Rezolvarea ecuatiei de gradul 2 [IF]

1 post in this topic

Cerinta:  Sa se scrie un program C pentru rezolvarea ecuatiei de gradul 2.

#include <stdio.h>
#include <math.h>
#include <stdlib.h>

int main(void)
{
	int a,b,c,delta,x1,x2,x;
	float cpx1,cpx2;
	printf("Introduceti 3 numere intregi de la tastatura:\n");
	if(scanf("%d%d%d",&a,&b,&c)!=3)
	{
		printf("Date incorecte");
		exit(1);
	}
	
	if(a!=0)
	{
		delta=pow(b,2)-4*a*c;
		printf("Ecuatie de gradul 2.\nDelta: b^2-4*a*c: %d\n",delta);
		if(delta>0)
			{
				x1=(-b+sqrt(delta))/(2*a);
				x2=(-b-sqrt(delta))/(2*a);
				printf("Delta > 0. Avem 2 solutii reale: x1= %d si x2= %d.",x1,x2);
				
			}
		else
			if(delta==0)
			{
				x=-b/(2*a);
				printf("Delta = 0. Avem 2 radacini egale: x1=x2= %d",x);
		 	}
		 	else
		 	{
				cpx1=-b/(2*a);
				cpx2=(sqrt(-delta))/(2*a);
				printf("Delta < 0. Ecuatia are radacini complexe. O parte reala si una imaginara.\nx1= %.3f si x2= %.3f",cpx1,cpx2);
			}
			
	}
	else
		if(b!=0)
		{
		x=-c/b;
		printf("Ecuatie de gradul 1. X= %d",x);
		}
		else
			if(c!=0)
				printf("Ecuatie imposibila");
			else
				printf("Ecuatie nedeterminata");
		
	return 0;
}

 

Sau:

#include <stdio.h>
#include <math.h>

int main(void)
{
	int a,b,c,delta,x1,x2,x;
	float cpx1,cpx2;
	printf("Introduceti 3 numere intregi de la tastatura:\na= ");
	scanf("%d",&a);
	printf("b= ");
	scanf("%d",&b);
	printf("c= ");
	scanf("%d",&c);
	
	if(a!=0)
	{
		delta=pow(b,2)-4*a*c;
		printf("Ecuatie de gradul 2.\nDelta: b^2-4*a*c: %d\n",delta);
		if(delta>0)
			{
				x1=(-b+sqrt(delta))/(2*a);
				x2=(-b-sqrt(delta))/(2*a);
				printf("Delta > 0. Avem 2 solutii reale: x1= %d si x2= %d.",x1,x2);
				
			}
		else
			if(delta==0)
			{
				x=-b/(2*a);
				printf("Delta = 0. Avem 2 radacini egale: x1=x2= %d",x);
		 	}
		 	else
		 	{
				cpx1=-b/(2*a);
				cpx2=(sqrt(-delta))/(2*a);
				printf("Delta < 0. Ecuatia are radacini complexe. O parte reala si una imaginara.\nx1= %.3f si x2= %.3f",cpx1,cpx2);
			}
			
	}
	else
		if(b!=0)
		{
		x=-c/b;
		printf("Ecuatie de gradul 1. X= %d",x);
		}
		else
			if(c!=0)
				printf("Ecuatie imposibila");
			else
				printf("Ecuatie nedeterminata");
		
	return 0;
}

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this