Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- printf("Trojuhelnik #1:\n");
- if((scanf(" %3[SU] %lf %lf %lf", str1, &a, &b, &c)) != 4){
- printf("Nespravny vstup.\n");
- return 1;
- }
- if(a<=0 || b<=0 || c<=0 || ( ( (strcmp(str1, type[0])) != 0 ) && ( (strcmp(str1, type[1])) != 0 ) && ( (strcmp(str1, type[2])) != 0 ) ) ){
- printf("Nespravny vstup.\n");
- return 1;
- }
- else
- {
- if ( (strcmp(str1, type[0])) == 0 )
- {
- ua = acos( ( pow(a, 2) - pow(b, 2) - pow(c, 2) ) / (-2*b*c) );
- ub = acos( ( pow(b, 2) - pow(a, 2) - pow(c, 2) ) / (-2*a*c) );
- uc = acos( ( pow(c, 2) - pow(b, 2) - pow(a, 2) ) / (-2*b*a) );
- if( ( (a+b-c) <= (DBL_EPSILON * 64 * a * b *c) ) || ( (b+c-a) <= (DBL_EPSILON * 64 * a * b *c) ) || ( (a+c-b) <= (DBL_EPSILON * 64 * a * b *c) ) /*|| ( (ua+ub+uc) > (M_PI+DBL_EPSILON*M_PI) )*/ ){
- printf("Vstup netvori trojuhelnik.\n");
- return 1;
- }
- }
- if ( strcmp(str1, type[1]) == 0 )
- {
- if( fabs(b-180.0) < (DBL_EPSILON*180*b) ){
- printf("Nespravny vstup.\n");
- return 1;
- //(fabs(p1-1.0) < (DBL_EPSILON*1000)
- }
- al1 = b;
- ub = al1*( (double)M_PI/ (double)180 ) ;
- b = sqrt( pow(c, 2) + pow(a, 2) -2*c*a*cos(ub) );
- ua = acos( ( pow(a, 2) - pow(b, 2) - pow(c, 2) ) / (-2*b*c) );
- uc = acos( ( pow(c, 2) - pow(b, 2) - pow(a, 2) ) / (-2*b*a) );
- if( ( (a+b-c) <= (DBL_EPSILON * 64 * a * b *c) ) || ( (b+c-a) <= (DBL_EPSILON * 64 * a * b *c) ) || ( (a+c-b) <= (DBL_EPSILON * 64 * a * b *c) ) /*|| ( (ua+ub+uc) > (M_PI+DBL_EPSILON*M_PI) )*/ ) {
- printf("Vstup netvori trojuhelnik.\n");
- return 1;
- }
- }
- if ( strcmp(str1, type[2]) == 0 )
- {
- if( ( fabs(a-180.0) <= (DBL_EPSILON*180*a) ) || ( fabs(c-180.0) <= (DBL_EPSILON*180*c) ) ){
- printf("Nespravny vstup\n");
- return 1;
- }
- if (( fabs(a+c-180.0) <= (DBL_EPSILON*180*a*c) ))
- {
- printf("Vstup netvori trojuhelnik.\n");
- return 1;
- }
- al1 = 180.0 - a - c;
- be1 = a;
- ga1 = c;
- ua = be1*( (double)M_PI/ (double)180);
- uc = ga1*( (double)M_PI / (double)180);
- ub = al1*( (double)M_PI / (double)180);
- a = ( b*sin(ua) / sin(ub) );
- c = ( b*sin(uc) / sin(ub) );
- if( ( (a+b-c) <= (DBL_EPSILON * 64 * a * b *c) ) || ( (b+c-a) <= (DBL_EPSILON * 64 * a * b *c) ) || ( (a+c-b) <= (DBL_EPSILON * 64 * a * b *c) ) /*|| ( (ua+ub+uc) > (M_PI+DBL_EPSILON*M_PI) ) */){
- printf("Vstup netvori trojuhelnik.\n");
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement