Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Вычисление наибольшего. (https://javascript.ru/forum/misc/71750-vychislenie-naibolshego.html)

Начинающий 10.12.2017 13:32

Вычисление наибольшего.
 
Только начинаю учить JS. Столкнулся с учебным заданием вычисление наибольшего числа из 3. Все получилось, сам себе усложнил добавил 4-е, и уже не получается, показывает неверный ответ. :(

var x = +prompt ('первое');
var y = +prompt ('второе');
var z = +prompt ('третье');

if ((x > y) && (x > z)) {res = x;}

else { if (y > z) {res = y} else {res = z}}

alert (res);

</script>

Ввел 4-е число и поставил такое решение :

var x = +prompt ('первое');
var y = +prompt ('второе');
var z = +prompt ('третье');
var a = +prompt ('четвертое');

if ((x > y) && (x > z) && (x > a)) {res = x;}

else {{if (y > z) {res = y;} else {res = z}} {if (z > a) {res = z;} else {res = a;}}}

alert (res);

И результаты через раз, неверные! Помогите, кто поймет! :(

Lion777 10.12.2017 13:53

Супер код
arrNum = [];

arrNum.push(prompt('Первое'));
arrNum.push(prompt('Второе'));
arrNum.push(prompt('Третье'));
arrNum.push(prompt('Четвертое'));

maxNum = Math.max(...arrNum);
alert('Максимальное число из введенных: ' + maxNum);

Начинающий 10.12.2017 14:12

Спасибо! Действительно супер-код. гораздо лаконичнее. Будем учить! :)

Начинающий 10.12.2017 15:41

Подскажите, а в чем проблема моей программы, с 4- мя значениями? Почему она работает неправильно? В чем, я в ней допустил ошибку, если сравнивать, с программой где только 3 числа (x,y,z)?

рони 10.12.2017 18:40

Начинающий,
var x = +prompt ('первое');
var y = +prompt ('второе');
var z = +prompt ('третье');
var a = +prompt ('четвертое');

if ((x > y) && (x > z) && (x > a)) {res = x;}
else if (y > z && y > a) {res = y;}
else if (z > y && z > a){res = z}
else {res = a;}
alert (res);

Начинающий 10.12.2017 19:36

Спасибо!

Vlasenko Fedor 11.12.2017 00:02

Вариант :dance:
alert('Максимальное число: ' + ['Первое', 'Второе', 'Третье', 'Четвертое'].reduce(function(prev, current) {
  var value = +prompt(current);
  return value > prev ? value : prev;
}, Number.NEGATIVE_INFINITY));

Начинающий 11.12.2017 10:18

:write: Супер!


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