Работа с текстом
Есть код: Требуемая задача: Если число не палиндром, то перевернем его и сложим с исходным числом. Далее если опять не полендром, то все по кругу. Я уже запутался, в функции perevernytb() строка возвращается с пробелом в начале и ни какой метод её не берет (для отображения этого в 13 строке стоит вывод), + ко всему функция прорабатывается 1 раз потом переменная обнуляется , ПОЧЕМУ то???? Помогите
Натуральное число называется палиндромом, если оно читается одинаково с обеих сторон (например, 191). <HTML><HEAD><TITLE>Таблица на Javascript</TITLE> <SCRIPT type="text/javascript"> <!-- function perevernytb() { //hisl=document.all.hislo.value; kolvo=hisl.length; pereven=" "; for(var i=0;i<kolvo;i++){ pereven+=hisl.charAt(kolvo-(i+1)); } document.write("-"+pereven+"-"); pereven=pereven.replace(/\s+/g,''); return pereven } function primer(){ hisl=document.all.hislo.value;perevernytb(); var chethik=1; perevernytb(); while(pereven!=hisl){hisl=Number(hisl)+Number(pereven); alert(hisl);perevernytb();chethik++; if(chethik==10){break}} if(pereven==hisl){document.write("число полиндром : "+hisl);} if(pereven!=hisl){document.write("число не полиндром : "+hisl);} } //--> </SCRIPT> </HEAD> <body> <input type="text" value="171" name="hislo"><br> <input type="button" value="активация" OnClick="primer()" > </body> </HTML> LoL, ни чего не меняя полиндромы начало находить, но что hisl не увеличивается после 1 раза пробела |
ОмаЭль,
document.write -- это ненадо использовать, это надо убрать и забыть что такое существует. |
Цитата:
|
ОмаЭль,
когда уберёте из вашего кода document.write -- всё автоматом заработает. давайте я вам код рабочий , а вы 10 ссылок с форума с вопросами, как у вас. |
Цитата:
Напроч забыл что d.w полностью переписывает страницу хД Еще подскажи тогда чем лучше смотреть переменные? Кроме как в консоле браузера... и alert... |
ОмаЭль,
ok ))) function primer(a) { for (a = ("" + a).split(""); 1 < a.length;) if (a.pop() != a.shift()) return false; return true }; alert([primer(191),primer(2002),primer(20022)]) |
ОмаЭль, если очень хочется с document.write
<!DOCTYPE HTML> <HTML><HEAD><TITLE>Таблица на Javascript</TITLE> <meta charset="utf-8"> <SCRIPT type="text/javascript"> document.write = function(a) { document.body.appendChild(document.createTextNode(a)); } function perevernytb() { //hisl=document.all.hislo.value; kolvo = hisl.length; pereven = " "; for (var i = 0; i < kolvo; i++) { pereven += hisl.charAt(kolvo - (i + 1)); } // document.write("-"+pereven+"-"); pereven = pereven.replace(/\s+/g, ''); return pereven } function primer() { hisl = document.all.hislo.value; perevernytb(); var chethik = 1; // perevernytb(); while (pereven != hisl) { hisl = Number(hisl) + Number(pereven); // alert(hisl); perevernytb(); chethik++; if (chethik == 10) { break } } if (pereven == hisl) { document.write("число полиндром : " + document.all.hislo.value); } if (pereven != hisl) { document.write("число не полиндром : " + document.all.hislo.value); } } </SCRIPT> </HEAD> <body> <input type="text" value="171" name="hislo"><br> <input type="button" value="активация" OnClick="primer()" > </body> </HTML> |
Видишь ли в задании не просто определить число полиндром или нет, надо что бы оно увеличивалось на перевернутое число и опять проверялось, для этого есть счетчик что бы не зависал хД Дак это как не работало так и не работает, переменная hisl не увеличивается
|
Цитата:
|
ОмаЭль,
верните строку 44 как у вас -- убрал вывод так как не понял зачем 10 раз складывать |
Часовой пояс GMT +3, время: 01:37. |