Javascript массив

318
03 июня 2017, 18:17

Помогите сделать вывод и правильно вписать массив. Вот задание: Дан массив целых чисел.Найти порядковый номер наибольшего по значению числа, являющегося симметричным в десятичном представлении.

int N = mas1.nextInt(); 
int mas[] = new int[N]; 
int c[]; 
//заполнение массива 
for (int i = 0; i < mas.length; i++) { 
mas[i] = mas1.nextInt(); 
} 
int a; 
for (int i = 0; i < c.length; i++) { 
c[i] = 0; 
} 
int max = 0; 
int imax = 0; 
for (int i = 0; i < mas.length; i++) { 
a = mas[i]; 
int j = 0; 
while (a > 0) { 
c[j] = a % 10; 
a /= 10; 
j++; 
} 
int kr = 1; 
for (int k = 0; k < j; k++) { 
if (c[k] != c[j-k+1]) { 
kr = 0; 
break; 
} 
} 
if (kr == 1 && (a > max || max == 0)) { 
max = a; 
imax = i; 
}

вот я переделал:

var mas[] = [10, 11, 5, 1441];
var c[];
var max = 0;
var imax = 0;
var a;
var i = 0;
var k = 0;
for (i = 0; i < mas.length; i++) {
  a = mas[i];
  var j = 0;
  while (a > 0) {
    c[j] = a % 10;
    a /= 10;
    j++;
  }
  var kr = 1;
  for (k = 0; k < j; k++) {
    if (c[k] != c[j - k + 1]) {
      kr = 0;
      break;
    }
  }
  if (kr == 1 && (a > max || max == 0)) {
    max = a;
    imax = i;
  }
Answer 1

Не ответ. Вот Вам, отлаживайте:

function FindMaxPalindrome(mas) { 
  var max = 0; 
  var imax = -1; 
  for (var i = 0; i < mas.length; i++) { 
    var a = mas[i]; 
    var j = 0; 
    var c = []; 
    while (a > 0) { 
      c[j] = a % 10; 
      a /= 10; 
      j++; 
    } 
    var kr = 1; 
    for (var k = 0; k < j; k++) { 
      if (c[k] != c[j - k + 1]) { 
        kr = 0; 
        break; 
      } 
    } 
    if (kr == 1 && (a > max || max == 0)) { 
      max = a; 
      imax = i; 
    } 
  } 
  return imax; 
} 
 
var mas1 = [10, 11, 5, 1441]; 
var index = FindMaxPalindrome(mas1); 
console.log(index + " - " + mas1[index]);

И работающий вариант:

function FindMaxPalindrome(mas) { 
  var max = 0; 
  var imax = -1; 
  for (var i = 0; i < mas.length; i++) { 
    var a = mas[i]; 
    var j = 0; 
    var c = []; 
    while (a > 0.5) { 
      c[j] = a % 10; 
      a = (a - c[j]) / 10; 
      j++; 
    } 
    console.log(c); 
    var kr = 1; 
    for (var k = 0; k < j; k++) { 
      if (c[k] != c[j - k - 1]) { 
        kr = 0; 
        break; 
      } 
    } 
    if (kr == 1 && (a > max || max == 0)) { 
      max = a; 
      imax = i; 
    } 
  } 
  return imax; 
} 
 
var mas1 = [10, 11, 5, 1441]; 
var index = FindMaxPalindrome(mas1); 
console.log(index + " - " + mas1[index]);

READ ALSO
Как сделать гамбургер меню только в мобильной версии?

Как сделать гамбургер меню только в мобильной версии?

Имеется готовый код на jquery, реализующий гамбургер меню в магазине на OpencartНо гамбургер функционирует при любом разрешении экрана, как можно...

668
keyCode не работает на Android Chrome

keyCode не работает на Android Chrome

Не работает keyCode в Android ChromeМне нужно отловить событие в поле ввода(input) тапа по запятой (",") или точке ("

300
Заполнение объектов

Заполнение объектов

Добрый деньХотел спросить, как в цикле заполнить объект вида

461