Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.12.2014, 16:57
Интересующийся
Отправить личное сообщение для ОмаЭль Посмотреть профиль Найти все сообщения от ОмаЭль
 
Регистрация: 11.10.2014
Сообщений: 18

Работа с текстом
Есть код: Требуемая задача: Если число не палиндром, то перевернем его и сложим с исходным числом. Далее если опять не полендром, то все по кругу. Я уже запутался, в функции 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 раза пробела

Последний раз редактировалось ОмаЭль, 16.12.2014 в 17:12.
Ответить с цитированием
  #2 (permalink)  
Старый 16.12.2014, 17:16
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

ОмаЭль,
document.write -- это ненадо использовать, это надо убрать и забыть что такое существует.
Ответить с цитированием
  #3 (permalink)  
Старый 16.12.2014, 18:28
Интересующийся
Отправить личное сообщение для ОмаЭль Посмотреть профиль Найти все сообщения от ОмаЭль
 
Регистрация: 11.10.2014
Сообщений: 18

Сообщение от рони Посмотреть сообщение
ОмаЭль,
document.write -- это ненадо использовать, это надо убрать и забыть что такое существует.
Почему в разных местах кода для отладки самое то. А для таких заданий для отображения. Лучше с реальной задачей подскажите....
Ответить с цитированием
  #4 (permalink)  
Старый 16.12.2014, 18:49
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

ОмаЭль,
когда уберёте из вашего кода document.write -- всё автоматом заработает. давайте я вам код рабочий , а вы 10 ссылок с форума с вопросами, как у вас.
Ответить с цитированием
  #5 (permalink)  
Старый 16.12.2014, 19:18
Интересующийся
Отправить личное сообщение для ОмаЭль Посмотреть профиль Найти все сообщения от ОмаЭль
 
Регистрация: 11.10.2014
Сообщений: 18

Сообщение от рони Посмотреть сообщение
ОмаЭль,
когда уберёте из вашего кода document.write -- всё автоматом заработает. давайте я вам код рабочий , а вы 10 ссылок с форума с вопросами, как у вас.
Ахаха официально признаю что я ЛОШАРА хД
Напроч забыл что d.w полностью переписывает страницу хД
Еще подскажи тогда чем лучше смотреть переменные? Кроме как в консоле браузера... и alert...
Ответить с цитированием
  #6 (permalink)  
Старый 16.12.2014, 19:35
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

ОмаЭль,
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)])
Ответить с цитированием
  #7 (permalink)  
Старый 16.12.2014, 19:44
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

ОмаЭль, если очень хочется с 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>
Ответить с цитированием
  #8 (permalink)  
Старый 16.12.2014, 19:50
Интересующийся
Отправить личное сообщение для ОмаЭль Посмотреть профиль Найти все сообщения от ОмаЭль
 
Регистрация: 11.10.2014
Сообщений: 18

Видишь ли в задании не просто определить число полиндром или нет, надо что бы оно увеличивалось на перевернутое число и опять проверялось, для этого есть счетчик что бы не зависал хД Дак это как не работало так и не работает, переменная hisl не увеличивается

Последний раз редактировалось ОмаЭль, 16.12.2014 в 19:54.
Ответить с цитированием
  #9 (permalink)  
Старый 16.12.2014, 20:01
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

Сообщение от ОмаЭль
переменная hisl не увеличивается
а вы проверяли?
Ответить с цитированием
  #10 (permalink)  
Старый 16.12.2014, 20:02
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

ОмаЭль,
верните строку 44 как у вас -- убрал вывод так как не понял зачем 10 раз складывать
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с текстом переменной Vladjiss Элементы интерфейса 2 21.08.2013 05:24
Работа с текстом Vale of tears Общие вопросы Javascript 13 01.08.2013 02:38
Работа с текстом на сайте wayzer Элементы интерфейса 5 07.06.2013 20:41
Работа с текстом, выделенным в textarea (opera+ff) Белый шум Общие вопросы Javascript 12 21.01.2012 01:54
Работа с выделенным текстом. lancer Общие вопросы Javascript 1 21.03.2008 16:55