Показать сообщение отдельно
  #29 (permalink)  
Старый 01.12.2013, 22:59
Интересующийся
Отправить личное сообщение для YorikoSC Посмотреть профиль Найти все сообщения от YorikoSC
 
Регистрация: 27.11.2013
Сообщений: 16

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


В общем большое спасибо без вас бы кумекал половину ночи
Ответить с цитированием