Проверить могут ли числа представлять собой значения длин сторон треугольника - QBasic

Узнай цену своей работы

Формулировка задачи:

Доброе время суток! Возникли проблемы с написанием программы!! Условие задачи: Ввести 10-12 троек чисел АВС. Проверить могут ли эти числа представлять собой значения длин сторон треугольника. Если да -- то вычислить плошать.... вот собственно мой код=(
Листинг программы
  1. fun: p = 0
  2. s = 0
  3. p = (d + f + g) / 2
  4. s = SQR(p * (p - d) * (p - f) * (p - g))
  5. RETURN
  6. REM labs9
  7. CLS
  8. PRINT "Vvesti 10-12 troek chisel ABC"
  9. INPUT "Vvesti kol-vo vvodimux tochek ", n
  10. DIM a(n)
  11. PRINT "Vvodite tochki: "
  12. FOR i = 1 TO n
  13. PRINT "a("; i; ")": INPUT "", a(i)
  14. NEXT
  15. FOR i = 1 TO 3 * n
  16. a = a(i): b = a(i + 1): c = a(i + 2)
  17. IF a + b > c THEN
  18. d = a: f = b: g = c
  19. GOSUB fun
  20. v1 = s
  21. ELSE
  22. IF a + c > b THEN
  23. d = a: f = b: g = c
  24. GOSUB fun
  25. v2 = s
  26. ELSE
  27. IF b + c > a THEN
  28. d = a: f = b: g = c
  29. GOSUB fun
  30. v3 = s
  31. ELSE
  32. PRINT "Chisla A="; a; "B="; b; "C="; c; " ne mogut but zhacheniyami storon"
  33. END IF
  34. END IF
  35. END IF
  36. PRINT "Esli a+b>c to S="; v1
  37. PRINT "Esli a+c>b to S="; v2
  38. PRINT "Esli b+c>a to S="; v3
  39. NEXT
  40. END
кто может пожалуйста укажите на ошибку или если есть более простой вариант подскажите!! Заранее спасибо!)
не ужели некто не знает???

Решение задачи: «Проверить могут ли числа представлять собой значения длин сторон треугольника»

textual
Листинг программы
  1. PRINT "Vvesti 10-12 troek chisel ABC"
  2. INPUT "Vvesti kol-vo troek vvodimux tochek: ", n
  3. DIM a(n, 3)
  4. PRINT "Vvodite tochki: "
  5. FOR i = 1 TO n
  6.     FOR j = 1 TO 3
  7.         PRINT "a("; i; ","; j; ")";
  8.         INPUT ": ", a(i, j)
  9.     NEXT
  10. NEXT
  11. FOR i = 1 TO n
  12.     d = a(i, 1)
  13.     f = a(i, 2)
  14.     g = a(i, 3)
  15.     Uslovie = 0
  16.     IF d + f > g AND d + g > f AND f + g > d THEN Uslovie = 1
  17.     IF Uslovie = 1 THEN
  18.         GOSUB fun
  19.         PRINT "Esli a+b>c AND  a+c>b  AND  b+c>a to S="; s
  20.     ELSE
  21.         PRINT "Chisla A="; d; "B="; f; "C="; g; " ne mogut but zhacheniyami storon"
  22.     END IF
  23. NEXT
  24. END
  25. fun:
  26. p = (d + f + g) / 2
  27. s = SQR(p * (p - d) * (p - f) * (p - g))
  28. RETURN

Объяснение кода листинга программы

  1. Ввод количества треугольников (n).
  2. Создание массива a(n, 3) для хранения координат вершин треугольников.
  3. Ввод координат вершин треугольников.
  4. Проверка, являются ли длины сторон треугольника удовлетворительными (условие из задачи).
  5. Если условие выполняется, то выполняется подпрограмма fun, иначе выводится сообщение, что числа не могут быть длинами сторон треугольника.
  6. В подпрограмме fun находится полупериметр треугольника (p), затем вычисляется площадь треугольника по формуле Герона (s).
  7. Возврат в основную программу и вывод сообщения с площадью треугольника (s).

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.867 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы