ввод массива
подскажите плиз как сделать лабу..оч надо!!вот задание:
Написать программу на HTML и JavaScript для следующего задания: На экране в форме вводятся 10 вещественных чисел. Найдите количество положительных, отрицательных и нулевых чисел. Используйте объект Array, Date и String. часть уже сделала:
<html>
<head>
<title>Нахождение нулевых,положительных и отрицательных чисел в массиве</title>
<script type="text/javascript" src="6.js">
</script>
</head>
<body>
<h4>Лабораторная работа 6<br>
<h1>Числовой массив</h1>
<br>
<script type="text/JavaScript">
var mes = new Array (" января ", " феврвля ", " марта ", " апреля ", " мая ", " июня ", " июля ", " августа ", " сентября ", " октября ", " ноября ", " декабря ");
var den = new Array ("воскресенье", "понедельник", "вторник", "среда", "четверг", "пятница", "суббота" )
var dt;
dt= new Date();
document.write("Сегодня-"+dt.getDate()+mes[dt.getMonth()]+dt.getYear()+"года,"+dt.getHours()+":"+dt.getMinutes()+":"+dt.getSeconds()+", "+den[dt.getDay()]);
</script><br><br>
<script type="text/JavaScript">
function aaa()
{
var i1=0;
var i2>0;
var i3<0;
var P=prompt("Введите последовательность чисел (через пробел)");
var mP=P.split("");
d=document;
for(var i=0; i<mP.length;i++)
{if(mP.[i]==0){i1=i1+1};
else{if(mP.[i]>0){i2=i2+1};
else{i3=i3+1};
}
}
document.write("<br>Количество нулевых значений");
document.write(""i1"<br>");
document.write("<br>Количество значений,больших 0");
document.write(""i2"<br>");
document.write("<br>Количество значений,меньших 0");
document.write(""i3"<br>");}
</script>
</body>
</html>
с датой все работает как надо, а вот основная часть задания - никак, синтаксис JS совсем поддается,подскажите в чем ошибка пжлст! |
ответ
<html>
<head>
<title>Нахождение нулевых,положительных и отрицательных чисел в массиве</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<script type="text/javascript" src="6.js">
</script>
</head>
<body>
<h4>Лабораторная работа 6<br>
<h1>Числовой массив</h1>
<br>
<script type="text/JavaScript">
var mes = new Array (" января ", " феврвля ", " марта ", " апреля ", " мая ", " июня ", " июля ", " августа ", " сентября ", " октября ", " ноября ", " декабря ");
var den = new Array ("воскресенье", "понедельник", "вторник", "среда", "четверг", "пятница", "суббота" )
var dt;
dt = new Date();
document.write("Сегодня-"+dt.getDate()+mes[dt.getMonth()]+dt.getYear()+"года,"+dt.getHours()+":"+dt.getMinutes()+":"+dt.getSeconds()+", "+den[dt.getDay()]);
</script><br><br>
<script type="text/JavaScript">
<!--
function calculate(obj){
var arr = Array();
arr["lt0"] = 0;
arr["eq0"] = 0;
arr["gt0"] = 0;
var arr_elements = obj.form.elements;
for(var i = 0; i < arr_elements.length; i++){
if(arr_elements[i].getAttribute('type')=="text"){
arr["lt0"] = (arr_elements[i].getAttribute('value')<0 ? arr["lt0"]+1 : arr["lt0"]);
arr["eq0"] = (arr_elements[i].getAttribute('value')==0 ? arr["eq0"]+1 : arr["eq0"]);
arr["gt0"] = (arr_elements[i].getAttribute('value')>0 ? arr["gt0"]+1 : arr["gt0"]);
}
}
document.getElementById("divv").innerHTML =
"<br>Количество нулевых значений: "+arr["eq0"]+"<br>"
+"<br>Количество значений, больше нуля: "+arr["gt0"]+"<br>"
+"<br>Количество значений, меньше нуля: "+arr["lt0"]+"<br>";
}
// -->
</script>
<form action="/" method="post">
<input name="ch1" type="text" value="1"><br>
<input name="ch2" type="text" value="2"><br>
<input name="ch3" type="text" value="-1"><br>
<input name="ch4" type="text" value="-2"><br>
<input name="ch5" type="text" value="0"><br>
<input name="ch6" type="text" value="3"><br>
<input name="ch7" type="text" value="0"><br>
<input name="ch8" type="text" value="4"><br>
<input name="ch9" type="text" value="5"><br>
<input name="ch10" type="text" value="-3"><br>
<button onclick="calculate(this)">подсчитать</button>
</form>
<div id="divv">
</div>
</body>
</html>
|
Используйте для ввода чисел:
<input type="text" id="numb" value="Введите числа" name="numbers"/> и будет Вам счастье. :) Значения из формы считывайте при помощи:
var n = document.getElementById("numb").value;
|
Цитата:
var n = document.getElementById("numb").value;
после такого все равно придется пользовать parseInt или parseFloat |
Что такое???
var i2>0; var i3<0; |
Мой вам совет, вы когда проверяете скрипты - запускайте в мозиле с фаербагом, он вам покажет где косяк, если это косяк не в логике.
|
2 twolf
Ну я же не говорил что там будут готовые числа, строку конечно надо разобрать и преобразовать к числовому типу. Просто ознакомившись с заданием: На экране в форме вводятся 10 вещественных чисел. и приведенным кодом, понял что топикстартер нигде вообще не получает числа, а это как минимум начало основной его беды). Потому и подкинул для начала идейку о том что числа откуда то надо получить. |
| Часовой пояс GMT +3, время: 02:17. |