Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBS/WSH/JS - Автомат

Ответить
Настройки темы
VBS/WSH/JS - Автомат

Новый участник


Сообщения: 21
Благодарности: 0

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
var t = r.ReadLine(); //Считывает первую строку
var st2 = r.ReadAll();//Считывает оставшийся текст

r.Close();

		var now = new Date();
var m=t.length; //m длина первой строки
var alph=new Array();
//Определяем алфавит строки t

for(var i=0;i<m;i++)
	alph[t.charAt(i)]=0;//alph['к']=0 alph['н']=1 :
//В двумерном массиве del будем хранить таблицу переходов
var del=new Array(m+1);
//WSH.echo(del);
for(var j=0;j<=m;j++)
	del[j]=new Array();
//Инициализируем таблицу переходов
for(var i in alph)
	del[0][i]=0;

//Формируем таблицу переходов

for(var j=0;j<m;j++){//prev=del[1][к];;;;del[1][к]=1;;;;
	var prev=del[j][t.charAt(j)];
	del[j][t.charAt(j)]=j+1;
	for(i in alph)
		del[j+1][i]=del[prev][i];
	//WSH.echo(del[prev][i]);
}

                                   
// Поиск в st2 состояния |t|

var curSost=0;
for (var i=0; i<st2.length; i++)
	if (typeof(del[curSost][st2.charAt(i)])!="undefined"){//Если тип двумерного массива не равен undefined 
		curSost=del[curSost][st2.charAt(i)];//То CurSost = двумерному массиву
		if (curSost == t.length )//Если длина строки равна curSost,то вывести число первого вхождения
			WSH.echo(i-t.length+" ");
	}	

	
	
		var after = new Date();
		WSH.echo(after-now);
Проблема заключается в том, допустим ищем слово "война", в тексте "вой123навойнавой34на" и получается, что он находит все три слова , хотя должен находить только то, которое по середине

Отправлено: 10:45, 17-04-2016

 


Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBS/WSH/JS - Автомат

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBS/WSH/JS - [решено] Автомат. изменение IP адреса zdughi Скриптовые языки администрирования Windows 16 30-07-2012 16:35
Разное - Автомат.перезагрузка компьютера. stixia Microsoft Windows 7 0 16-03-2009 13:01
RadarSync 2009 2.0030 автомат обновления драйверов ziku Поиск драйверов, прошивок и руководств 5 03-03-2009 05:22
Как избавиться от автомат. даты в Excel? Evita Хочу все знать 2 24-03-2006 10:59
автомат fugitive Программирование и базы данных 6 14-04-2004 03:50




 
Переход