URI Online Judge | 1045 Triangle Types (Solution)

Problem Link:
https://www.urionlinejudge.com.br/judge/en/problems/view/1045

URI Online Judge | 1045

Triangle Types

Adapted by Neilor Tonin, URI  Brazil
Timelimit: 1
Read 3 double numbers (A, B and C) representing the sides of a triangle and arrange them in decreasing order, so that the side A is the biggest of the three sides. Next, determine the type of triangle that they can make, based on the following cases always writing an appropriate message:
  • if A ≥ B + C, write the message: NAO FORMA TRIANGULO
  • if A2 = B2 + C2, write the message: TRIANGULO RETANGULO
  • if A2 > B2 + C2, write the message: TRIANGULO OBTUSANGULO
  • if A2 < B2 + C2, write the message: TRIANGULO ACUTANGULO
  • if the three sides are the same size, write the message: TRIANGULO EQUILATERO
  • if only two sides are the same and the third one is different, write the message: TRIANGULO ISOSCELES

Input

The input contains three double numbers, A (0 < A) , B (0 < B) and C (0 < C).

Output

Print all the classifications of the triangle presented in the input.
Sample InputsSample Outputs
7.0 5.0 7.0TRIANGULO ACUTANGULO
TRIANGULO ISOSCELES
6.0 6.0 10.0TRIANGULO OBTUSANGULO
TRIANGULO ISOSCELES
6.0 6.0 6.0TRIANGULO ACUTANGULO
TRIANGULO EQUILATERO
5.0 7.0 2.0NAO FORMA TRIANGULO
6.0 8.0 10.0TRIANGULO RETANGULO
Solution:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <stdio.h>
int main()
{
    double a, b, c, temp;
    scanf("%lf %lf %lf", &a, &b, &c);
    if (a < b)
    {
        temp = a;
        a = b;
        b = temp;
    }
    if (b < c)
    {
        temp = b;
        b = c;
        c = temp;
    }
    if (a < b)
    {
        temp = a;
        a = b;
        b = temp;
    }
    if (a >= b + c)
    {
        printf("NAO FORMA TRIANGULO\n");
    }
    else if (a * a == b * b + c * c)
    {
        printf("TRIANGULO RETANGULO\n");
    }
    else if (a * a > b * b + c * c)
    {
        printf("TRIANGULO OBTUSANGULO\n");
    }
    else if (a * a < b * b + c * c)
    {
        printf("TRIANGULO ACUTANGULO\n");
    }
     
    if (a == b && b == c)
    {
        printf("TRIANGULO EQUILATERO\n");
    }
    else if (a == b || b == c)
    {
        printf("TRIANGULO ISOSCELES\n");
    }
    return 0;
}

Comments

  1. good work man but if you erase that first one
    if (a < b)

    {

    temp = a;

    a = b;

    b = temp;

    }
    code works fine good work though

    ReplyDelete
    Replies
    1. if you erase first one. It doesn't work. Check again!

      Delete

Post a Comment

Popular posts from this blog

URI Online Judge | 1036 Bhaskara's Formula (Solution)

URI Online Judge | 1043 Triangle (Solution)

URI Online Judge | 1042 Simple Sort (Solution)