From d4ccf219a788933e798c5806f7801d8a91554036 Mon Sep 17 00:00:00 2001 From: "exercism-solutions-syncer[bot]" <211797793+exercism-solutions-syncer[bot]@users.noreply.github.com> Date: Sat, 20 Jun 2026 19:05:08 +0000 Subject: [PATCH] [Sync Iteration] cpp/triangle/1 --- solutions/cpp/triangle/1/triangle.cpp | 21 +++++++++++++++++++++ solutions/cpp/triangle/1/triangle.h | 12 ++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 solutions/cpp/triangle/1/triangle.cpp create mode 100644 solutions/cpp/triangle/1/triangle.h diff --git a/solutions/cpp/triangle/1/triangle.cpp b/solutions/cpp/triangle/1/triangle.cpp new file mode 100644 index 0000000..6738222 --- /dev/null +++ b/solutions/cpp/triangle/1/triangle.cpp @@ -0,0 +1,21 @@ +#include "triangle.h" +#include + +namespace triangle { + flavor kind(double a, double b, double c) { + if (a <= 0 || b <= 0 || c <= 0 || (a + b < c) || (b + c < a) || (a + c < b)) { + throw std::domain_error("No es un triangulo real."); + } + + if (a == b && b == c) { + return flavor::equilateral; + } + else if (a != b && b != c && a != c) { + return flavor::scalene; + } + else { + return flavor::isosceles; + } +} + +} \ No newline at end of file diff --git a/solutions/cpp/triangle/1/triangle.h b/solutions/cpp/triangle/1/triangle.h new file mode 100644 index 0000000..484b4eb --- /dev/null +++ b/solutions/cpp/triangle/1/triangle.h @@ -0,0 +1,12 @@ +#pragma once + +namespace triangle { + + enum class flavor { + equilateral, + isosceles, + scalene + }; + flavor kind(double a, double b, double c); + +} \ No newline at end of file