Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Формула Герона (https://javascript.ru/forum/misc/61639-formula-gerona.html)

Alexbelkevich 27.02.2016 18:36

Формула Герона
 
Здравствуйте!
Подскажите пожалуйста. Не пойму, почему в if/else не срабатывает else.
Пытаюсь вычислить площадь треугольника по формуле Герона

var a = +prompt("Введите сторону a");
  var b = +prompt("Введите сторону b");
  var c = +prompt("Введите сторону c");

  if ( ( a > 0 ) && ( b > 0 ) && ( c > 0) && ( ( a + b > c ) || ( b + c > a ) || ( a + c > b ) ) ) {
    var p = (a + b + c)*0.5; //Вычисление полупериметра
    var s = Math.sqrt(p * (p - a) * (p - b) * (p - c)); //Вычисление площади
    document.write("Полупериметр = " + p + "<br>");
    document.write("Площадь = " + s);
  } else {
    document.write("Треугольника не существует");
  }


По идее, если мы вводим числа, например, a = 10, b = 3, c = 30, то должен сработать else, но он не срабатывает...
Подскажите, почему так? Выводится Полупериметр и Площадь NaN

Vlasenko Fedor 27.02.2016 18:39

Цитата:

Сообщение от Alexbelkevich
a = 10, b = 3, c = 30

Цитата:

Сообщение от Alexbelkevich
b + c > a

Условие выполняется

рони 27.02.2016 18:55

Alexbelkevich,
везде && а не ||

Alexbelkevich 27.02.2016 18:58

Цитата:

Сообщение от рони (Сообщение 409486)
Alexbelkevich,
везде && а не ||

Спасибо большое! что то я совсем затупил!


Часовой пояс GMT +3, время: 14:06.