Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.10.2013, 15:04   #1
Alex.s1989
Новичок
Джуниор
 
Регистрация: 04.10.2013
Сообщений: 2
По умолчанию Удалять лишние пробелы в строке без использования регулярного выражения

Написал Javascript для удаления лишних пробелов из строки, но почему то не срабатывает. Просьба помочь с данным вопросом

Код HTML:
<html>
<head>
<script>


 function sortLetters(src,dst)
 {

   var r=new Array();
   var res="";
   var status=1;
   j=0;
   for(i=0;i<src.length;i++)
   {
	if(src.charAt(i)==" ")
	   {if (status==1)
	      {r[j]=src.charAt(i);
		  status=2;
		  res+=r[j];
		  j++;
		    }
	    }
	  else {r[j]=src.charAt(i);
			status=1;
			}
   dst.value=res;
 }
}

</script>
</head>
<body>
<h1 align="center">Сортируем строку</h1>
Введите строку символов:<input id="src" size="100"><br>
Результат посимвольной сортировки: <input id="dst" size="100" readonly>
<input type="button" value="сортировать" id="mybutton" 
onClick="sortLetters(document.getElementById('src').value,document.getElementById('dst'));">
<hr>


<hr>


</body>
</html>

--------------------
Форматируйте код тегами!!
Модератор

Последний раз редактировалось Serge_Bliznykov; 04.10.2013 в 15:51.
Alex.s1989 вне форума Ответить с цитированием
Старый 04.10.2013, 15:45   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
Код:
{  r[j]=src.charAt(i); 
    status=1;   //      Ну признали мы что это не пробел.  
}А дальше-то 
как она перейдет в res и затем в dst ?
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 04.10.2013, 15:57   #3
Alex.s1989
Новичок
Джуниор
 
Регистрация: 04.10.2013
Сообщений: 2
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
как она перейдет в res и затем в dst ?
Если удостоверились, что предыдущий символ не был пробелом (status==1), то выполняется сценарий
{r[j]=src.charAt(i);
status=2;
res+=r[j];
j++;
считанный и проверенный символ строки записывается в очередной элемент массива....и так до тех пор, пока не будет обработана вся строка


Первый раз на этом форуме, учту в следующий раз

Последний раз редактировалось Stilet; 05.10.2013 в 11:50.
Alex.s1989 вне форума Ответить с цитированием
Старый 04.10.2013, 22:09   #4
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
Если удостоверились, что предыдущий символ не был пробелом (status==1), то выполняется сценарий
все верно,но только в случае если текущий есть пробел

Код:
if(src.charAt(i)==" ")
	   {if (status==1)
и далее все как вы написали
 .....}
else
{  r[j]=src.charAt(i); 
    status=1;   //      Ну признали мы что это не пробел.  
//А дальше-то 
}
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В заданной строке удалить все лишние пробелы(Delphi) darko666 Помощь студентам 2 10.12.2011 22:36
Корректность Регулярного выражения Altera Свободное общение 4 18.08.2011 17:44
В строке удалить все лишние пробелы. задача в паскале Dean Помощь студентам 8 17.02.2011 13:30
удалять лишние пробелы из строки eduard17 Помощь студентам 4 19.02.2010 20:42
удалить в строке лишние пробелы euhenia Помощь студентам 4 02.12.2009 21:55