Sign in to follow this  
Cornel Iulian

[C][ETTI] Radacinile ecuatiei cx^2+bx+a=0

1 post in this topic

Cerinta: Sa se scrie programul C care preia de la consola si afiseaza 2 valori intregi m,n, 3 numere reale dubla precizie, a, b, c si 3 caractere k1, k2, k3.

- Presupunand  ca c este diferit de zero si expresia b^2-4c*a>=0, sa se calculeze, memoreze si afiseze radacinile ecuatiei cx^2+bx+a=0.

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

int main(void)
{
	int m,n;
	double a,b,c,delta,x1,x2;
	char k1,k2,k3;
	
	printf("Introduceti 2 valori intregi:\n");
	if(scanf("%d%d",&m,&n)!=2)
	{
		printf("Date eronate");
		exit(1);
	}
	printf("\nIntroduceti 3 numere reale:\n");
	if(scanf("%lf%lf%lf",&a,&b,&c)!=3)
	{
		printf("Date eronate");
		exit(1);
	}
	printf("\nSa se introduca 3 caractere:\n");
	fflush(stdin);
	scanf("%c %c %c",&k1,&k2,&k3);
	
	printf("\nAti introdus 2 valori reale:\nm=\t%d\nn=\t%d\n\nAti introdus 3 numere reale:\na=\t%g\nb=\t%g\nc=\t%g\n\nAti introdus caracterele: %c, %c si %c\n",m,n,a,b,c,k1,k2,k3);


//  Presupunem ca c!=0 si b^2-4ca>=0
//	Sa se calculeze, memoreze si afiseze radacinile ecuatiei cx^2+bx+a=0

	
	if(c!=0)
	{
		printf("\n\nEcuatie de gradul 2 cu doua necunoscute, x1 si x2.\n");
		delta=b*b-4*c*a;
		if(delta>0)
		{
			x1=(-b-sqrt(delta))/(2*c);
			x2=(-b+sqrt(delta))/(2*c);
			printf("Delta > 0.\nx1=\t%g\nx2=\t%g\n",x1,x2);
		}
		else
		if(delta==0)
		{
			x1=(-b)/(2*c);
			printf("Delta = 0 => x1 = x2 = %g\n",x1);
		}
		else
			printf("Delta < 0. Nu avem solutii reale\n");
	}
	else
		printf("Valoarea lui c este 0\n");
	
	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