Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Работа с текстом (https://javascript.ru/forum/misc/52373-rabota-s-tekstom.html)

ОмаЭль 16.12.2014 20:07

Цитата:

Сообщение от рони (Сообщение 346788)
а вы проверяли?

Да, через alert - можно отследить, какую 44?????

рони 16.12.2014 20:18

ОмаЭль,
так ?
function test(a) {
     for (a = ("" + a).split(""); 1 < a.length;)
         if (a.pop() != a.shift()) return !1;
     return !0
 }

 function primer(a) {
     for (var b = 0; 10 > b && !test(a); b++) a += +("" + a).split("").reverse().join("");
     return [a, test(a)]
 };
 alert([primer(1),primer(2002),primer(18)])

ОмаЭль 16.12.2014 20:25

Да, твой код работает, но для меня это еще сложноватая структура (Имеется ввиду понимаю как ты реализовал, но сам бы так не написал) , как бы смешно тебе это не казалось , мне интересно почему у меня не складывает...

рони 16.12.2014 20:37

ОмаЭль,
потому что -- вы хотите перевернуть строку а сложить числа

ОмаЭль 16.12.2014 20:39

Цитата:

Сообщение от рони (Сообщение 346796)
ОмаЭль,
потому что -- вы хотите перевернуть строку а сложить числа

Дак я типы меняю в ручную, перед действием, кстати если бы происходила конкатенация строк то это бы тоже было заметно, дело в том что она ваще не работает и я хоть убей не могу понять в чем причина

рони 16.12.2014 20:46

ОмаЭль, смотрите медитируйте ... var нехватает ...for нерационален ... 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() {
  	  kolvo = (''+hisl).length; //преобразуем в строку
  	  pereven = " ";
  	  for(var i = 0; i < kolvo; i++) {
  	    pereven += (''+hisl).charAt(kolvo -(i + 1)); //преобразуем в строку
  	  }
  	  pereven = pereven.replace(/\s+/g, '');
  	  return +pereven    //возвращаем число
  	}
  	function primer() {
  	  hisl = +document.all.hislo.value;  //преобразуем в число
  	  var chethik = 1;
  	  while(perevernytb()!=hisl) {
  	    hisl += perevernytb();
  	    chethik++;
  	    if(chethik==10) {
  	      break
  	    }
  	  }
  	  if(perevernytb()==hisl) {
  	    document.write("число полиндром : " + hisl);
  	  }
  	  if(perevernytb()!=hisl) {
  	    document.write("число не полиндром : " + hisl);
  	  }
  	}
  </script>
</head>

<body>
  <form>
    <input type="text" value="171" name="hislo"><br>
    <input type="button" value="активация" onclick="primer()">
  </form>
</body>
</html>

ОмаЭль 16.12.2014 20:55

про for и document согласен, а вот про var его там и не надо, если его указать то функция к которой обращаются не увидит переменную. P.s. Области видимости =)
Спасибо за помощь!

Aetae 17.12.2014 12:17

Добавлю, что транслит - последнее дело. Хочешь писать по-русски - пиши по-русски, js позволяет:
<html>
<head>
  <title>Таблица на Javascript</title>
  <meta charset="utf-8">
  <script type="text/javascript">
    document.write = function(a) {
        document.body.appendChild(document.createTextNode(a));
    }
    function перевернуть() {
        количество = (''+число).length; //преобразуем в строку
        перевёрн = " ";
        for(var i = 0; i < количество; i++) {
            перевёрн += (''+число).charAt(количество -(i + 1)); //преобразуем в строку
        }
        перевёрн = перевёрн.replace(/\s+/g, '');
        return +перевёрн    //возвращаем число
    }
    function пример() {
        число = +document.all.число.value;  //преобразуем в число
        var счётчик = 1;
        while(перевернуть() != число) {
            число += перевернуть();
            счётчик++;
            if( счётчик == 10 ) {
                break
            }
        }
        if(перевернуть() == число) {
            document.write("число полиндром : " + число);
        }
        if(перевернуть() != число) {
            document.write("число не полиндром : " + число);
        }
    }
  </script>
</head>
 
<body>
  <form>
    <input type="text" value="171" name="число"><br>
    <input type="button" value="активация" onclick="пример()">
  </form>
</body>
</html>
Всё равно это лучше чем транслит.


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