Сообщение от lord2kim
|
YorikoSC, откуда взялись скобки?
{
alert(x.charAt(i%2=0).toUpperCase());
}
и естественно нужно обрабатывать (не)четность символов в отдельно цикле...
function Generate() {
var random = Math.floor(Math.random() * 44)+1, x, final_str = "";
document.getElementById("условие").innerHTML = random;
document.getElementById("текст").innerHTML = "Введите текст длинной не менее чем "+random+" символов.";
//alert(random);
do {
x = prompt("Введите текст длинной в сгенерированное число ("+random+")","");
}
while (x.length < random)
for (i=0; i < x.length; i++) { // в цикле перебираем всю полученную строку и собираем новую на основе поставленной задачи
if (i%2) { // если номер очередного символа строки делится на 2 с остатком - нечетный
final_str += x.charAt(i).toUpperCase();
} else { // иначе четный
final_str += x.charAt(i).toLowerCase();
}
}
alert(final_str);
}
Generate();
|
Исправил чуток ваш код:
function Generate(){
var random = Math.floor(Math.random() * 44)+1, x;
var answer = new String()//добавил новое значение - без него ругалось.
document.getElementById("условие").innerHTML = random;
document.getElementById("текст").innerHTML = "Введите текст длинной в "+random+" символов.";
do
{
x = prompt("Введите текст длинной в сгенерированное число","");
//отсюда убрал alert - он стопорил процесс, в любом случае.
}
while
(x.length != random);//поставил != т.к. при < большее кол-во символов пропускалось, как верное
for (i=0; i< x.length; i++)
{//перебор полученой строки.
if (i%2) //проверка четности, если делится на 2 без остатка.
{
answer +=x.charAt(i).toUpperCase();
}
else //если не делится.
{
answer +=x.charAt(i).toLowerCase();
}
}
alert(answer);
}
Generate();
В общем большое спасибо
без вас бы кумекал половину ночи