Javascript.RU

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

Вывести самое короткое слово в строке
Есть текст, в котором необходимо определить
• количество слов (сделано)
• последнее слово в тексте(сделано)
• самое короткое слово в тексте

<html>
<head>
<title>10</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/ font size="4">

<script language="JavaScript">  
  function numsym(obj) {
    var h=' '  
    var s=obj.textin.value  
    var res=0
  for (var i=0; i<=s.length-1; i++)  
      {ch=s.charAt(i)  
  if (ch==h)  
     {res+=1}  
      } 
	f=res+1; 
  obj.result.value=f 
  
  var myArray = s.split(' '); 
  alert(myArray[res])
  
} 
</script>  
</head>  
<body bgcolor="#E6E6FA"> 
<form name="form1">  
	Текст:<br> 
	<textarea name="textin" rows=10 cols=100></textarea><hr>   
	<input type="button" value="Определить" 
	
	onClick="numsym(form1)"><hr>  
	Колличество слов:  
	<input type="text" name="result" size=8><hr>  
	<input type="reset" value="Сбросить">  
</form>  
</body>  
</html>



помогите сделать последнее задание, заранее спасибо

пробовал сделать так, но не работает:

myArray[0]=sm;
  for (var j=0; j<=f; j++)
  {
	if myArray[j]<sm 
	{
		sm=myArray[j];
	}  
  }
   alert(sm)

Последний раз редактировалось Андрей Параничев, 23.12.2008 в 17:05. Причина: Пользуйтесь bb-тегами [js] и [html] для оформления листингов кода в теле сообщения
Ответить с цитированием
  #2 (permalink)  
Старый 23.12.2008, 12:46
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

У тебя уже есть массив слов. Тебе осталось принять первое слово как предполагаемое минимальное, а потом в цикле (начиная со второго слова) сравнивать все слова с запосненным в переменной (первоначально - с первым). Если сравниваемое слово меньше того, что в переменной, то в переменную записываем новое (текущее) слово. И так до конца массива. В итоге в переменной будет самое короткое слово.
Ответить с цитированием
  #3 (permalink)  
Старый 23.12.2008, 13:31
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Длина строки хранится в свойстве length.
Ответить с цитированием
  #4 (permalink)  
Старый 23.12.2008, 18:21
Интересующийся
Отправить личное сообщение для troy2008 Посмотреть профиль Найти все сообщения от troy2008
 
Регистрация: 23.12.2008
Сообщений: 10

<script language="JavaScript">  
  function numsym(obj) {
    var h=' '  
    var s=obj.textin.value  
    var res=0
  for (var i=0; i<=s.length-1; i++)  
      {ch=s.charAt(i)  
  if (ch==h)  
     {res+=1}  
      } 
	f=res+1; 
  obj.result.value=f 
  
  var myArray = s.split(' '); 
  myArray[0]=sm;
  for (var j=1; j<=f; j++)
  {
    if myArray[j].length<sm.length 
    {
        sm=myArray[j];
    }  
  }
   alert(sm)
} 
</script>


я так и сделал, но все равно не работает(. в чем ошибка?
Ответить с цитированием
  #5 (permalink)  
Старый 23.12.2008, 18:27
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

myArray[0]=sm; ???
Ответить с цитированием
  #6 (permalink)  
Старый 23.12.2008, 18:39
Интересующийся
Отправить личное сообщение для troy2008 Посмотреть профиль Найти все сообщения от troy2008
 
Регистрация: 23.12.2008
Сообщений: 10

первое слово присваивается переменной sm
Ответить с цитированием
  #7 (permalink)  
Старый 23.12.2008, 18:40
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Фигасе у вас присваивание? Вы араб?
Ответить с цитированием
  #8 (permalink)  
Старый 23.12.2008, 18:43
Интересующийся
Отправить личное сообщение для troy2008 Посмотреть профиль Найти все сообщения от troy2008
 
Регистрация: 23.12.2008
Сообщений: 10

очень смешно
Ответить с цитированием
  #9 (permalink)  
Старый 23.12.2008, 18:44
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Т.е. вы до сих пор не поняли, что в этой строчке не так?

Сообщение от troy2008
sm=myArray[j];
Почему здесь sm слева?
Ответить с цитированием
  #10 (permalink)  
Старый 23.12.2008, 18:50
Интересующийся
Отправить личное сообщение для troy2008 Посмотреть профиль Найти все сообщения от troy2008
 
Регистрация: 23.12.2008
Сообщений: 10

не помогло
Ответить с цитированием
Ответ



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

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