Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.06.2017, 05:46
Новичок на форуме
Отправить личное сообщение для sucrew Посмотреть профиль Найти все сообщения от sucrew
 
Регистрация: 13.06.2017
Сообщений: 2

вывести самые короткие слова строки
Дана строка текста, состоящая из слов и чисел, разделенных пробелами,
вывести самые короткие слова строки
не пойму почему не работает функция
<HTML>
<HEAD>
<script language ="JavaScript"> 
function run(s){
var el=document.forms[0].write_t;
var a='', r=false, summ=0;
s+=' ';
for(var i=0;i < s.length+1;i++){
min= length(s); 
len := 0; // обнуляем переменную
min_str = ''; // обнуляем переменную
str = ''; // обнуляем переменную
for (var i:=1 ;i< length(s);i++ // циклом проходимся по всей строке - от 1-го символа и до последнего
        if s[i]<>' ' { // если символ не является пробелом, то:
                inc(len); // увеличиваем длину слова на 1
                str = str + s[i];} // присваеваем текущий символ строке, по одному символу будет собираться слово полностью
        else {
                if len>max {// если длина последнего найденного слова больше предыдущего (максимального)
                        max = len; // присваеваем длину этого слова
                        max_str = str; // а это само слово которое собирали по одному символу
                }
                if len<min { // если длина последнего найденного слова меньше предыдущего (минимального)
                        min := len; // длина слова
                        min_str := str; // само слово
                };
                len := 0; // обнуляем для того чтобы искать длину следующего слова
                str := ''; // обнуляем чтоб записывать следующее найденное слово
        end;
}       
el.value='Короткие слова : '+min_str;
}
</script> 
</HEAD>
<body> 
<form>
<p>Дана строка текста, состоящая из слов и чисел, разделенных пробелами,
вывести самые короткие слова строки.</p>
<p> <font size="4"> Введите текст: </font></p>
<textarea name="read_t" cols="50" rows="10"></textarea> <br>
<textarea name="write_t" cols="50" rows="5"></textarea> <br>
<input type="button" name="Run" value="Запуск" onClick="run(this.form.read_t.value)">
<input type="reset" name="reset" value="Очистить">
</form>
</body>
</HTML>
Ответить с цитированием
  #2 (permalink)  
Старый 13.06.2017, 07:42
Кандидат Javascript-наук
Отправить личное сообщение для Diphenyl Oxalate Посмотреть профиль Найти все сообщения от Diphenyl Oxalate
 
Регистрация: 21.01.2017
Сообщений: 139

Цитата:
len := 0
Цитата:
if s[i]<>' '
Что это за дичь?

var str = "Дана строка текста, состоящая из слов и чисел, разделенных пробелами. Вывести самые короткие слова строки.";
alert( "Пять самых коротких слов: " + str.split(" ").sort(function (a, b) {return a.length - b.length}).slice(0, 5) );
Ответить с цитированием
  #3 (permalink)  
Старый 14.06.2017, 06:16
Новичок на форуме
Отправить личное сообщение для sucrew Посмотреть профиль Найти все сообщения от sucrew
 
Регистрация: 13.06.2017
Сообщений: 2

необходимо что все работало через функция по кнопке, и к примеру если самое короткое слово в строке 4 буквы, то нужно вывести все слова из 4 букв, вот немного поменял код, но функция все равно работает некорректна
<HTML>
<HEAD>
<script language ="JavaScript"> 
function run(s){
var str=document.forms[0].write_t;
var strLengths = str.map(function(n){
  return n.length;
});
var minLengths = str.filter(function(n) {
  return n.length == Math.min.apply(null, strLengths);
});

el.value='Короткие слова : '+minLengths;
}
</script> 
</HEAD>
<body> 
<form>
<p>Дана строка текста, состоящая из слов и чисел, разделенных пробелами,
вывести самые короткие слова строки.</p>
<p> <font size="4"> Введите текст: </font></p>
<textarea name="read_t" cols="50" rows="10"></textarea> <br>
<textarea name="write_t" cols="50" rows="5"></textarea> <br>
<input type="button" name="Run" value="Запуск" onClick="run(this.form.read_t.value)">
<input type="reset" name="reset" value="Очистить">
</form>
</body>
</HTML>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вывести слова определенной длины с помощью регулярных выражений alexandr2006 Элементы интерфейса 15 09.02.2016 22:07
Подскажите, как вывести в один input две разные строки? Vyacheslav.Y Ваши сайты и скрипты 4 08.11.2015 11:39
Regex, если в начале строки нет слова webphp Events/DOM/Window 4 18.10.2015 08:37
Regexp обрезать короткие слова vivalaakam Общие вопросы Javascript 14 23.01.2013 13:47
Как вывести из строки var ЭмМэмДэмс Серверные языки и технологии 2 06.09.2011 02:20