Сообщение от 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);