Sign in to follow this  
Cornel Iulian

[C][ETTI] Laturile unui triunghi, perimetru si aria acestuia

1 post in this topic

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

- Sa se determine daca cele trei valori a,b,c pot reprezenta laturile unui triunghi si, daca da, sa se calculeze perimetrul si aria sa.

Obs. Conditia necesara pentru ca trei numere sa poata fi lungimile laturilor unui triunghi este ca cele trei numere sa fie pozitive si suma a oricaror doua dintre ele sa fie mai mare decat cel de-al treilea numar. Daca conditia este indeplinita, vom calcula perimetrul si aria triunghiului folosind formula lui Heron.

s= sqrt(p*(p-a)*(p-b)*(p-c)), unde p=(a+b+c)/2

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

int main(void)
{
	int a,b,c;
	double x,y;
	char k1,k2,k3;
	printf("Introduceti 3 numere intregi:\n");
	if(scanf("%d%d%d",&a,&b,&c)!=3)
	{
		printf("Date eronate");
		exit(1);
	}
	printf("Ati introdus urmatoarele numere intregi:\na= %d\nb= %d\nc= %d\n\n",a,b,c);
	printf("Introduceti 2 numere reale:\n");
	if(scanf("%lf%lf",&x,&y)!=2)
	{
		printf("Date eronate");
		exit(1);
	}
	printf("Ati introdus urmatoarele valori reale:\nx= %g\ny= %g\n\n",x,y);
	printf("Introduceti 3 caractere:\n");
	fflush(stdin);
	scanf("%c %c %c",&k1,&k2,&k3);
	printf("Ati introdus urmatoarele caractere: %c, %c si %c\n\n",k1,k2,k3);
	
// Sa se determine daca cele trei valori a,b,c pot reprezenta laturile unui triunghi si, daca da, sa se calculeze perimetrul si aria sa.
	double s,p;
	int per;
	if((a+b)>c && (a+c)>b && (b+c)>a && a>0 && b>0 && c>0)
	{
		per=a+b+c;
		p=(a+b+c)/2.0;
		s=sqrt(p*(p-a)*(p-b)*(p-c));
		
		printf("Valorile %d, %d si %d pot reprezenta laturile unui triunghi ",a,b,c);
		printf("\nPerimetrul acestui triunghi este: %d, iar semi-perimetrul este %g\n",per,p);
		printf("Aria acestui triunghi este: %g",s);
	}
	else
		printf("Valorile %d, %d si %d nu pot reprezenta laturile unui triunghi.",a,b,c);
			
}

 

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