Проверить могут ли числа представлять собой значения длин сторон треугольника - QBasic
Формулировка задачи:
Доброе время суток!
Возникли проблемы с написанием программы!!
Условие задачи:
Ввести 10-12 троек чисел АВС. Проверить могут ли эти числа представлять собой значения длин сторон треугольника. Если да -- то вычислить плошать....
вот собственно мой код=(
кто может пожалуйста укажите на ошибку или если есть более простой вариант подскажите!!
Заранее спасибо!)
не ужели некто не знает???
Решение задачи: «Проверить могут ли числа представлять собой значения длин сторон треугольника»
textual
Листинг программы
PRINT "Vvesti 10-12 troek chisel ABC"
INPUT "Vvesti kol-vo troek vvodimux tochek: ", n
DIM a(n, 3)
PRINT "Vvodite tochki: "
FOR i = 1 TO n
FOR j = 1 TO 3
PRINT "a("; i; ","; j; ")";
INPUT ": ", a(i, j)
NEXT
NEXT
FOR i = 1 TO n
d = a(i, 1)
f = a(i, 2)
g = a(i, 3)
Uslovie = 0
IF d + f > g AND d + g > f AND f + g > d THEN Uslovie = 1
IF Uslovie = 1 THEN
GOSUB fun
PRINT "Esli a+b>c AND a+c>b AND b+c>a to S="; s
ELSE
PRINT "Chisla A="; d; "B="; f; "C="; g; " ne mogut but zhacheniyami storon"
END IF
NEXT
END
fun:
p = (d + f + g) / 2
s = SQR(p * (p - d) * (p - f) * (p - g))
RETURN
Объяснение кода листинга программы
- Ввод количества треугольников (n).
- Создание массива a(n, 3) для хранения координат вершин треугольников.
- Ввод координат вершин треугольников.
- Проверка, являются ли длины сторон треугольника удовлетворительными (условие из задачи).
- Если условие выполняется, то выполняется подпрограмма fun, иначе выводится сообщение, что числа не могут быть длинами сторон треугольника.
- В подпрограмме fun находится полупериметр треугольника (p), затем вычисляется площадь треугольника по формуле Герона (s).
- Возврат в основную программу и вывод сообщения с площадью треугольника (s).