Показать сообщение отдельно
  #17 (permalink)  
Старый 28.09.2013, 02:27
Аватар для Demath
Профессор
Отправить личное сообщение для Demath Посмотреть профиль Найти все сообщения от Demath
 
Регистрация: 22.06.2012
Сообщений: 168

Сообщение от Anna77 Посмотреть сообщение
Если не сложно, подскажите, пожалуйста, как написать программу, определяющую, является ли массив симметричным, т. е. совпадает ли его первый элемент с последним, второй с предпоследним и т. д.
Сообщение от Anna77 Посмотреть сообщение
Подскажите, почему в конце не выводится document.write, когда массив симметричный?
var Arr = [];
var i = 0;
do
{
var str = prompt("Введите элемент массива, завершение ввода - символ '!':");
if (!isNaN(+str) && +str == parseInt(str))
{
Arr[i++] = str;
}
}
while(str !== "!")
document.write("Исходный массив Arr: " + Arr + "<br/>");
var x = true;
var n = Arr.length;

for (var i = 0; i < (n-1)/2; i++)
{
if (Arr[i] !== Arr[n-1-i])
{
x = false;
document.write("Массив несимметричный" + "<br/>");
} break;
{
document.write("Массив симметричный");
}
}
Вот так примерно

var Arr = [], i = 0;

do { var str = prompt("Введите элемент массива, завершение ввода - символ '!':");
     if (!isNaN(+str) && +str == parseInt(str)) Arr[i++] = str;
   } while (str !== "!");
   
document.write("Исходный массив: Arr = [" + Arr + "]<br/>");

var x = "симметричный",
    n = Arr.length,
    k = (n%2==1) ? n/2 : (n-1)/2;

for (var i = 0; i < k; i++)
 { if (Arr[i] !== Arr[n-1-i]) 
    { x = "несимметричный"; break; }
 }

document.write("Массив " + x);

Последний раз редактировалось Demath, 28.09.2013 в 02:30.
Ответить с цитированием