ввод массива
подскажите плиз как сделать лабу..оч надо!!вот задание:
Написать программу на 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, время: 03:18. |