Sign in to follow this  
Cornel Iulian

[C][ETTI] Sa se calculeze, memoreze si afiseze valorile functiei..

1 post in this topic

Cerinta: Sa se scrie un program C care preia de la consola si afiseaza 2 valori reale dubla precizie, x,y, 3 numere intregi, a,b,c, si 2 caractere car1, car2. Preluarea datelor vor fi insotite de mesaje adecvate.

- Sa se calculeze, memoreze si afiseze valorile functiei: 

functie.png

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

int main(void)
{
	int a,b,c;
	double x,y;
	char car1,car2;
	
	printf("Sa se introduca 2 valori reale:\n");
	if(scanf("%lf%lf",&x,&y)!=2) 
	{
		printf("Date eronate.");
		exit(1);
	}
	printf("\nSa se introduca 3 numere intregi:\n");
	if(scanf("%d%d%d",&a,&b,&c)!=3)
	{
		printf("Date eronate.");
		exit(1);
	}
	printf("\nSa se introduca 2 caractere:\n");
	fflush(stdin);
	scanf("%c %c",&car1,&car2);
	
	printf("\nAti introdus urmatoarele:\n");
	printf("Valori intregi:\nx=\t%g\ny=\t%g\n\nNumere intregi:\na=\t%d\nb=\t%d\nc=\t%d\n\nCaractere:\t%c\tsi\t%c\n\n",x,y,a,b,c,car1,car2);
	
// Sa se calculeze, memoreze si afiseze valorile functiei:
// 				2^x + ln|x|  			x<0
// f(x) =    	0						x=0
//				sqrt(9+x^2)+cos(x)
//				------------------		x>0
//						2x 	

	double f;
		if(x<0)
		{
			f=pow(2,x)+log(fabs(x));
			printf("\nX<0\nf(%g)=\t%g",x,f);
		}
		else
			if(x==0)
			{
				f=0;
				printf("\nX=0\nf(%g)=\t%g",x,f);
			}
			else
			{
				f=(sqrt(9+pow(x,2))+cos(x))/(2*x);
				printf("\nX>0\nf(%g)=\t%g",x,f);
			}
		
	
	return 0;
}

 

Observatii: 

- valorile reale de dubla precizie se citesc intotdeauna cu specificatorul de format "%lf" (long float);

- inainte de a citi anumite caractere, folositi functia "fflush(stdin)" (este folosit pentru a șterge datele din memoria tampon);

- legat de ln|x|, aveti in vedere ca x este o variabila de tip float, astfel, avem de a face cu modul dintr-un numar real, adica fabs(x) (pentru numere intregi se foloseste functia abs();  );

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