упр.01 задача 2

Предадени решения

Краен срок:
15.10.2025 23:59
Точки:
1

Срокът за предаване на решения е отминал

// Include the solution source in the same file, so we
// don't have to worry about item visibility.
// Please don't use `include!` in real code, this is a hack
// around the checking system.
include!{ "../src/lib.rs" }
#[test]
fn test_basic() {
assert_eq!(&String::from(check_triangle(0, 0, 0)), "невалидни страни");
assert_eq!(&String::from(check_triangle(1, 2, -3)), "невалидни страни");
assert_eq!(&String::from(check_triangle(10, 10, -3)), "невалидни страни");
assert_eq!(&String::from(check_triangle(10, 20, 30)), "не е триъгълник");
assert_eq!(&String::from(check_triangle(10, 10, 300)), "не е триъгълник");
assert_eq!(&String::from(check_triangle(10, 10, 10)), "равностранен");
assert_eq!(&String::from(check_triangle(10, 10, 15)), "равнобедрен");
assert_eq!(&String::from(check_triangle(100, 100, 25)), "равнобедрен");
assert_eq!(&String::from(check_triangle(10, 20, 29)), "разностранен");
}

Напиши функция check_triangle, която приема три цели числа a, b, c и връща низ, оказващ типа на триъгълник, който има страни със съответните дължини. Функцията да връща

  • "невалидни страни"- ако някоя от страните е невалидна (дължина <= 0)
  • "не е триъгълник"- ако страните не образуват триъгълник (сбора на двете е по-голям от третата)
  • "равностранен" - ако всички страни са равни
  • "равнобедрен" - ако само две страни са равни
  • "разностранен" - иначе

П.С. игнорирайте линка с указания за домашни - добавя се автоматично и не е актуален в случая.

Задължително прочетете (или си припомнете): Указания за предаване на домашни

Погрижете се решението ви да се компилира с базовия тест:

// Include the solution source in the same file, so we
// don't have to worry about item visibility.
// Please don't use `include!` in real code, this is a hack
// around the checking system.
include!{ "../src/lib.rs" }
#[test]
fn test_basic() {
assert_eq!(&String::from(check_triangle(0, 0, 0)), "невалидни страни");
assert_eq!(&String::from(check_triangle(1, 2, -3)), "невалидни страни");
assert_eq!(&String::from(check_triangle(10, 10, -3)), "невалидни страни");
assert_eq!(&String::from(check_triangle(10, 20, 30)), "не е триъгълник");
assert_eq!(&String::from(check_triangle(10, 10, 300)), "не е триъгълник");
assert_eq!(&String::from(check_triangle(10, 10, 10)), "равностранен");
assert_eq!(&String::from(check_triangle(10, 10, 15)), "равнобедрен");
assert_eq!(&String::from(check_triangle(100, 100, 25)), "равнобедрен");
assert_eq!(&String::from(check_triangle(10, 20, 29)), "разностранен");
}