Обратный порядок букв в каждом втором слове
Доброго времени суток уважаемые,
В универе задали задачку написать сценарий, который будет высчитывать количество слов в веденном предложении, а потом менять порядок букв в каждом втором слове на обратный.(к примеру: "мама мыла раму мылом", должно получится: "мама алым раму молым" Причем можно использовать только: 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, время: 10:40. |