Сортировка треугольников

209
16 августа 2018, 08:00

Есть рабочий код который отсчитывает площадь по формуле Герона с треугольника, используя пустые массивы, которые я заполняю в консоли методом .push();

Задача: мне нужно что бы в коде ниже в функцие triangleList() описывалась первая часть масива names и результат полученный из расчёта по формуле Герона, а также этот список исполнял сортировку по убыванию от большого треугольника к меньшему.

var names = []; 
var a = []; 
var b = []; 
var c = []; 
 
console.log("напиши *createTriangle()*"); 
console.log("как только ты закончил все действия, пиши в консоль *end()*") 
 
function createTriangle() { 
  console.log("напиши *names.push( ^Имя треугольника^ )*") 
  console.log("напиши *a.push( ^Размер первой стороны тругольника^ )*") 
  console.log("напиши *b.push( ^Размер второй стороны треугольника^ )*") 
  console.log("напиши *c.push( ^Размер третьей стороны треугольника^ )*") 
}; 
 
function end() { 
  console.log("если ты хочешь продолжить пиши *y()* или *yes()*, в противном случае пиши *no()* или *n()*") 
}; 
 
function yes() { 
  console.log("напиши *names.push( ^Имя треугольника^ )*") 
  console.log("напиши *a.push( ^Размер первой стороны тругольника^ )*") 
  console.log("напиши *b.push( ^Размер второй стороны треугольника^ )*") 
  console.log("напиши *c.push( ^Размер третьей стороны треугольника^ )*") 
  console.log("пиши *end()* как только закончил") 
}; 
 
function y() { 
  console.log("напиши *names.push( ^Имя треугольника^ )*") 
  console.log("напиши *a.push( ^Размер первой стороны тругольника^ )*") 
  console.log("напиши *b.push( ^Размер второй стороны треугольника^ )*") 
  console.log("напиши *c.push( ^Размер третьей стороны треугольника^ )*") 
  console.log("пиши *end()* как только закончил") 
}; 
 
function geron(s) { 
  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)); 
    return sorting(s); 
  } else { 
    console.log("Получить площадь не удалось. А значит советую начать всё сначала"); 
  } 
} 
 
function sorting(s) { 
  var n = s.length; 
  for (var i = 0; i < n - 1; i++) { 
    var min = i; 
    for (var j = i + 1; j < n; j++) { 
      if (s[j] < s[min]) min = j; 
    } 
    var t = s[min]; 
    s[min] = s[i]; 
    s[i] = t; 
  } 
  return triangleList(); 
 
}; 
 
function no() { 
  return geron(); 
}; 
 
function n() { 
  return geron(); 
}; 
 
function triangleList() {}

READ ALSO
Поочередное нажатие button

Поочередное нажатие button

Ребята как можно сделать чтоб при нажатии на кнопку она залилась зеленым цветом , при нажатии на вторую кнопку первая окрашивается в серый...

139
Функция removeSmallest(arr)

Функция removeSmallest(arr)

Дается массив с числамиИз них удаляется самый меньший и возвращается оставшийся массив

159
Удаление записи через телеграм бот

Удаление записи через телеграм бот

При удалении записи через тг-бот, удаляются все данные, но мне нужно чтобы при нажатии кнопки "Удалить" удалялась та запись которая выводилось...

163
Drag&#39;n&#39;drop добавление материла

Drag'n'drop добавление материла

Есть ли такой плагин, с помощью которого можно перетаскивать элемента списка и при отпускании его над определенным элементом происходило...

149