Algorithm
Triangle Types
Adapted by Neilor Tonin, URI Brazil
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.
Input Samples | Output Samples |
7.0 5.0 7.0 |
TRIANGULO ACUTANGULO |
6.0 6.0 10.0 |
TRIANGULO OBTUSANGULO |
6.0 6.0 6.0 |
TRIANGULO ACUTANGULO |
5.0 7.0 2.0 |
NAO FORMA TRIANGULO |
6.0 8.0 10.0 |
TRIANGULO RETANGULO |
Code Examples
#1 Code Example with C Programming
Code -
C Programming
#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 TRIANGULOn");
}
else if (a * a == b * b + c * c)
{
printf("TRIANGULO RETANGULOn");
}
else if (a * a > b * b + c * c)
{
printf("TRIANGULO OBTUSANGULOn");
}
else if (a * a < b * b + c * c)
{
printf("TRIANGULO ACUTANGULOn");
}
if (a == b && b == c)
{
printf("TRIANGULO EQUILATEROn");
}
else if (a == b || b == c)
{
printf("TRIANGULO ISOSCELESn");
}
return 0;
}
Copy The Code &
Try With Live Editor
Input
Output
#2 Code Example with C++ Programming
Code -
C++ Programming
#include <iostream>
#include <vector>
#include <algorithm<
using namespace std;
int main()
{
float x;
vector < float> v;
for (int i = 0; i < 3; ++i)
{
cin >> x;
v.push_back(x);
}
sort(v.begin(), v.begin() + 3);
float a, b, c;
c = v[0];
b = v[1];
a = v[2];
if(a >= (b + c)) {
cout << "NAO FORMA TRIANGULO" << endl;
} else{
if(a*a == (b*b + c*c)){
cout << "TRIANGULO RETANGULO" << endl;
} else if(a*a > (b*b + c*c)) {
cout << "TRIANGULO OBTUSANGULO" << endl;
} else{
cout << "TRIANGULO ACUTANGULO" << endl;
}
if(a == b && b == c){
cout << "TRIANGULO EQUILATERO" << endl;
}
if((a == b && a != c) || (b == c && b != a) || (c == a && c != b)){
cout << "TRIANGULO ISOSCELES" << endl;
}
}
return 0;
}
Copy The Code &
Try With Live Editor
Input
Output
#3 Code Example with Java Programming
Code -
Java Programming
import java.io.IOException;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws IOException {
double A, B, C;
Scanner input =new Scanner(System.in);
A = input.nextDouble();
B = input.nextDouble();
C = input.nextDouble();
double tempA = Math.max(A, Math.max(B, C));
double tempB = 0;
double tempC = 0;
if (tempA == A) {
tempB =Math.max(B, C);
tempC =Math.min(B, C);
}
if (tempA == B) {
tempB =Math.max(A, C);
tempC =Math.min(A, C);
}
if (tempA == C) {
tempB =Math.max(B, A);
tempC =Math.min(B, A);
}
//------------------------------
if (tempA >= (tempB + tempC)) {
System.out.print("NAO FORMA TRIANGULOn");
} else if (tempA*tempA > ((tempB*tempB)+(tempC*tempC))) {
System.out.print("TRIANGULO OBTUSANGULOn");
}
if (tempA*tempA == ((tempB*tempB)+(tempC*tempC))) {
System.out.print("TRIANGULO RETANGULOn");
}
if (tempA*tempA < ((tempB*tempB)+(tempC*tempC))) {
System.out.print("TRIANGULO ACUTANGULOn");
}
if ((tempA == tempB) &&(tempA == tempC)) {
System.out.print("TRIANGULO EQUILATEROn");
}
if (((tempA == tempB) &&(tempA != tempC)) || ((tempA == tempC) &&(tempA != tempB)) || ((tempB == tempC) &&(tempB != tempA)) ) {
System.out.print("TRIANGULO ISOSCELESn");
}
}
}
Copy The Code &
Try With Live Editor
Input
Output
#4 Code Example with Python Programming
Code -
Python Programming
a,b,c=list(map(float,input().split()))
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)):
print("NAO FORMA TRIANGULO")
elif(a*a == (b*b+c*c)):
print("TRIANGULO RETANGULO")
elif(a * a > (b*b+ c*c)):
print("TRIANGULO OBTUSANGULO")
elif(a*a<(b*b + c*c)):
print("TRIANGULO ACUTANGULO")
if(a == b and b == c):
print("TRIANGULO EQUILATERO")
elif(a == b or b == c):
print("TRIANGULO ISOSCELES">
Copy The Code &
Try With Live Editor
Input
Output