Обратный порядок букв в каждом втором слове
Доброго времени суток уважаемые,
В универе задали задачку написать сценарий, который будет высчитывать количество слов в веденном предложении, а потом менять порядок букв в каждом втором слове на обратный.(к примеру: "мама мыла раму мылом", должно получится: "мама алым раму молым" Причем можно использовать только: prompt, alert, charAt (и так же attribut.length), операторы if/else и циклы(т.е. функции, массивы и прочее использовать низя). С подсчетом слов вроде бы проблем нету, а вот как обратить буквы... даже не знаю с чего начать. Пожалуйста помогите... |
Интересно как не использовать массив, если строка - это массив символов?
|
Вот это-то меня и сбивает с толку... Из задания: "... в задании Вы не можете использовать ни каких других функций, ни массивы, ни ваши собственные функции..." :(
|
MSiUzaQ,
в принципе строка букв - автомассив , особенно с учетом "(и так же attribut.length)" http://javascript.ru/String/charAt |
MSiUzaQ,
Вариант ...
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
</head>
<body>
<script>
var str = prompt("Ваше предложение", "мама мыла раму мылом"), out = "", str2 ="", n = 0;
for (var i=0; i<str.length; i++) {
if(str.charAt(i)==" ") {str2+=" "+out;out="",n++}
else if(n%2)out= str.charAt(i)+out;
else out+= str.charAt(i)
}
alert(str2+" "+out + "\nСлов "+ ++n)
</script>
</body>
</html>
|
Цитата:
Код:
var str = prompt("Ваше предложение", "мама мыла раму мылом?"); |
Цитата:
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
</head>
<body>
<script>
var str = prompt("Ваше предложение", "мама мыла раму мылом");
alert([str.replace(/(\S+\s+)(\S+)/g , function (a,b,c )
{
return b + c.split('').reverse().join('')
}), str.split(' ').length]);
</script>
</body>
</html>
|
Ну вобще-то цилкы и ветвления использовать можно)
Проитайте задание внимательно ) |
Цитата:
|
Всем большое спасибо за соучастие):thanks:
|
| Часовой пояс GMT +3, время: 00:36. |