Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помогите написать программу (https://javascript.ru/forum/misc/31390-pomogite-napisat-programmu.html)

dima2394 05.09.2012 19:33

Помогите написать программу
 
Задача №1.

С клавиатуры вводится 3 числа.Вычислить и вывести на экран сумму 2-х больших из них.

Задача №2.
С клавиатуры вводится массив состоящий из 10 элементов-преобразовать его записав все элементы в обратном порядке.Измененный массив вывести на экран.

Откликнувшимся Спасибо!!

Positive_fun 05.09.2012 21:17

Задача 1:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Задача 1</title>
</head>
<body>
	<script type="text/javascript">
		var digit1 = Number(prompt('Введите первое число')),
			digit2 = Number(prompt('Введите первое число')),
			digit3 = Number(prompt('Введите первое число'));
		
		if(digit1 > digit3 && digit2 > digit3) {
			document.write(digit1 + digit2);
		}
		else if(digit1 > digit2 && digit3 > digit2) {
			document.write(digit1 + digit3);
		}
		else if (digit2 > digit1 && digit3 > digit1)  {
			document.write(digit2 + digit3);
		}
		
		
		//alert(digit1);
	</script>
</body>
</html>

Positive_fun 05.09.2012 21:32

Задача: 2
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Задача 1</title>
</head>
<body>
	<script type="text/javascript">
		var mas = [],
			masElem,
			i,
			i_plus = 1;
		for(i = 0; i <= 9; i += 1) {
			masElem = prompt('Введите ' + i_plus + ' элемент масива');
			mas.push(masElem);
			i_plus += 1;
		}
		document.write(mas.reverse());
	</script>
</body>
</html>

dima2394 05.09.2012 22:49

Спасибо большое.

Aetae 06.09.2012 04:30

Забавно: школярские задачки и школярские же ответы к ним.
Зато препод не придерётся.)

bes 06.09.2012 10:22

Цитата:

Сообщение от Positive_fun
Задача 1:

а если все числа одинаковые

PS: чтобы примеры можно было запустить, нужно добавить run ([html run])

bes 06.09.2012 11:50

я бы сделал первую задачу так
<div></div>

<script>
window.onload = function () {
	var div = document.body.children[0];

	function cn(a, b) {
		if (a < b) {
			return 1;
		} else {
			return -1;
		}
	}

	var mas = [];
	var num;
	
	var len = prompt('Введите количество вводимых чисел (больше 1)', 3);
	while (len == '' || len.search(/\S/g) == -1 || isNaN(len) == true || len <= 1) {
		len = prompt('Было введено не число или число <= 1. Попробуйте ввести число ещё раз');
	}
	
	for (var i = 1; i <= len; i++) {
		num = prompt('Введите ' + i + '-е число')
		while (num == '' || num.search(/\S/g) == -1 || isNaN(num) == true) {
			num = prompt('Было введено не число.\nПопробуйте ещё раз ввести ' + i + '-е число');
		}
		mas.push(Number(num));
		div.innerHTML += i + '-e число: ' + mas[i-1] + ';<br>'
	}

	mas.sort(cn);
	div.innerHTML += 'cумма двух наибольших: ' + (mas[0] + mas[1]) + ';'

}
</script>

nerv_ 06.09.2012 11:59

Цитата:

Сообщение от bes
я бы сделал первую задачу так

ты пошутил, да?

1. Ввод в цикле, пихаем в массив.
2. Сортируем массив
3. Удаляем лишние элементы
4. Складываем

Вторая: сразу записывать в обратном порядке.

bes 06.09.2012 12:09

Цитата:

Сообщение от nerv_
ты пошутил, да?

1. Ввод в цикле, пихаем в массив.
2. Сортируем массив
3. Удаляем лишние элементы
4. Складываем

не понял о чём ты или есть вариант проще?
не, я не шутил, не считая проверок, алгоритм такой, только без 3 пункта, так как элементы массива уже отсортированы в порядке убывания

Positive_fun 06.09.2012 12:12

Цитата:

Сообщение от bes (Сообщение 203288)
а если все числа одинаковые

PS: чтобы примеры можно было запустить, нужно добавить run ([html run])

Спасибо учту, забыл.


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