Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Ада и другие языки _ Ява скрипты

Автор: dron4ik 9.10.2009 0:50

Привет всем. Помогите написать программу...(я не разу не работал на ява скрипте)....пожалуйста.

Есть три исходные строки. Первая строка по длине превосходит вторую обе эти строки могут содержать какие либо элементы. ПЕРВАЯ ПРОЦЕДУРА Потом вторая строка сравнивается с первой ищет одинаковый элемент в первой строчки и если в первой строке находятся одинаковые элементы, то выводим их индексы(индексы элементов в первой строке)и ВТОРАЯ ПРОЦЕДУРА потом эти элементы заменяются элементом который содержится в третьей строке.Третья строка содержит элемент предназначенный для замены.ТРЕТЬЯ ПРОЦЕДУРА -->В четвертой строке содержиться путь к файлу, где этот файл содержит в себе все эти строчки.При запуске скрипта эти строчки передаються в консоль.ТЧЕТВЕРТАЯ ПРОЦЕДУРА нужно осуществить проверку которая проверяет элементы в строках если они есть вобще.

Автор: Lapp 9.10.2009 5:58

Цитата(dron4ik @ 8.10.2009 21:50) *
Помогите написать программу...(я не разу не работал на ява скрипте)....пожалуйста.

Есть три исходные строки. Первая ..
dron4ik, помочь можно, ты только хотя бы начни. Задача, как задача. Не совсем ясно, что за элементы имеются в виду, правда. Начинай писать - поможем.

Автор: dron4ik 9.10.2009 12:06

В роли элементов там могут находиться буквы, числа, слова.

Наверное нужно задать два массива стрингового типа?

Автор: Lapp 9.10.2009 14:36

Цитата(dron4ik @ 9.10.2009 9:06) *
В роли элементов там могут находиться буквы, числа, слова.
Поконкретнее бы. Неясно, что означает "одинаковые элементы". Что - если в первой строке одинаковые буквы что ли? Или такие же как, во второй? Я бы на твоем месете макисмально прояснил условие. Если есть четкая запись - давай (хоть фото страницы). А так - поди туда, не знаю куда..

Цитата(dron4ik @ 9.10.2009 9:06) *
Наверное нужно задать два массива стрингового типа?
Про типы в JavaScript забудь вообще, это тебе не Паскаль. И массивы тебе тут вряд ли пригодятся. Присвой строки трем переменным (хоть a, b и с) - и работай с ними.

Автор: dron4ik 9.10.2009 18:39

Сравнение второй строки с первой ну например..

первая строка 34 45 67 78
вторая строка 45
третья строка 99

Алгоритм сравнил строки и нашел одинаковые элементы 45 и 45.Прога выводит индекс элемента 45 первой строки..тут индекс равен 2 к примеру.. и с помощью третьей строки мы заменяем элемент 45 первой строки на элемент 99 третьей строки. т.е..

первая строка 34 99 67 78
вторая строка 45
третья строка 99




Добавлено через 5 мин.
а как осуществить ввод этих элементов с помощью клавиатуры? т.е. пользователь сам вводит в строки эти элементы...а как эт осуществить?

Автор: Lapp 10.10.2009 15:03

Цитата(dron4ik @ 9.10.2009 15:39) *
а как осуществить ввод этих элементов с помощью клавиатуры? т.е. пользователь сам вводит в строки эти элементы...а как эт осуществить?
Ну, как.. Проще всего - в форме. Сделай форму, а в ней три поля типа text - и вводи..

Автор: dron4ik 10.10.2009 18:02

подскажите как задать форму и поля.

Автор: volvo 10.10.2009 18:33

Цитата
подскажите как задать форму и поля.
Ты что, с HTML никогда не работал?
HTML
<html>
<script type="text/javascript">
function f(frm)
{
alert(frm.first.value);
}
</script>
<form>
<p><input type="text" name="first"><br>
<input type="text" name="second"><br>
<input type="text" name="third"></p>
<input type="button" value="start" onclick="f(this.form);">
</form>
</html>
(описываются 3 поля, обращаться к данным можно через имя.value)...

Автор: Lapp 10.10.2009 18:41

Цитата(dron4ik @ 10.10.2009 15:02) *
подскажите как задать форму и поля.
О-о.. Если ты не знаешь HTML - думаю, тебе рано приступать к JavaScript..

Автор: dron4ik 10.10.2009 20:43

хм интересный код..а перескок на др ячейку как делается? т.е. индексы нужны и счетчик, элементы должны же как то отличаться др от друга.

Автор: volvo 10.10.2009 20:46

Цитата
элементы должны же как то отличаться др от друга.
Если ты не заметил, у каждого элемента (у каждого поля, в смысле) есть имя (name)... Оно уникальное и однозначно определяет объект. В общем, тебе действительно рано заниматься JS...

Автор: dron4ik 10.10.2009 20:48

т.е я могу в самом коде задать имена элементов следовательно и их количество?

Автор: dron4ik 13.10.2009 19:28

Тему можно закрыть.

Автор: dron4ik 15.10.2009 2:51

прогу я написал по заданию..Организовать три строки, где первая строка превосходит по длине вторую строку. Обе эти строки содержат какие-либо элементы(цифры или буквы в зависимости что ввел пользователь в строки),элементы между собой не разделены пробелами. Организовать сравнение элементов этих двух строк и если окажется что первая строка содержит в себе одинаковый элемент с элементом второй строки, то пользователю должен выводиться индекс одинакового элемента первой строки. После вывода индекса, в первой строке заменяем элементы(по индексу, которые являются одинаковыми с элементами второй строки) на элементы третьей строки(по индексу), после этого выводиться первая строка на экран. Но у меня не получается сделать так что пользователь мог сам вводить элементы в эти три строчки...я сделал но у меня выходит ошибка....
[
color=#FF0000]индекс выходит за пределы допустимого значения
[/color]кто знает в чем поблема?
вот код
function Procedure1(x,y)
{
var Indeksy=new Array(x.length);
var k=0;
for(var i=0;i<x.length;i++)
for(var j=0;j<y.length;j++)
if(x.charAt(i)==y.charAt(j))
{
Indeksy[k]=i;
k++;
}
return Indeksy;
}

function Procedure2(x,y,Inx)
{
var ZamenennaiaStroka="";
for(var j=0;j<x.length;j++)
{
var Zamenili=0;
for(var i=0;i<Inx.length;i++)
if(Inx[i]==j)
{
Zamenili=1;
ZamenennaiaStroka+=y.charAt(Inx[i]);
}
if(Zamenili==0) ZamenennaiaStroka+=x.charAt(j);
}
return ZamenennaiaStroka;
}

var Stroka1 = "abcdefghi";
var Stroka2 = "18acegh7";
var Stroka3 = "123456789";
WScript.Echo(WScript.Arguments(0));
WScript.Echo("_____________________________");
WScript.Echo("Stroka1: "+Stroka1);
WScript.Echo("Stroka2: "+Stroka2);
WScript.Echo("Stroka3: "+Stroka3);
WScript.Echo("_____________________________");
var I=Procedure1(Stroka1,Stroka2);
WScript.Echo("Indeksy sovpadeniy v pervoi stroke: "+I);
WScript.Echo("_____________________________");
var NovaiaStroka1=Procedure2(Stroka1,Stroka3,I);
WScript.Echo("Posle zameny poluchili: "+NovaiaStroka1);
WScript.Echo("_____________________________");