Нужно изменить программу так, чтобы при введении двух пробелов в форме ввода в результате...

0 голосов
29 просмотров

Нужно изменить программу так, чтобы при введении двух пробелов в форме ввода в результате не выдавало 2 запятые.




Первая лабораторная работа


//Получение данных с формы
var mA;
var mB;

//Функция проверки на существование элемента в массиве
function isElementInMass(mass, el)
{
for(var i=0; i {
if(mass[i] == el)
return true;
}
return false;
}



//Функция объединения
function union(mass1, mass2)
{
var mas_result = Array();
for(var i=0; i {
if(!isElementInMass(mas_result, mass1[i]))
mas_result.push(mass1[i]);
}

for(var i=0; i {
if(!isElementInMass(mas_result, mass2[i] ))
mas_result.push(mass2[i]);
}

return mas_result;
}

//Функция пересечения
function cross(mass1, mass2)
{
var mas_result = Array();
for(var j=0; j {
if(isElementInMass(mass1, mass2[j] ) &&
!isElementInMass(mas_result, mass2[j] ))
mas_result.push(mass2[j]);
}

return mas_result;
}


function getData()
{
document.getElementById("result").innerHTML = "";
mA = document.getElementById("massA").value;
mB = document.getElementById("massB").value;
mA = mA.split(" ");
mB = mB.split(" ");
document.getElementById("result").innerHTML += "Объединение массивов :"+union(mA, mB) +"
";

document.getElementById("result").innerHTML += "Пересечение массивов :"+cross(mA, mB) +"
";

}


//Основная функция
function main()
{
getData();




}





Первая лабораторная работа




Первый массив




Второй массив







Результат:








Информатика (22 баллов) | 29 просмотров
0

Что конкретно нужно сделать?

Дан 1 ответ
0 голосов

Я позволил себе немного изменить Ваш код и сделать его немного более читаемым. Так же, мне не совсем было понятно, зачем Вы сделали главную функцию, которая лишь вызывает еще одну. Поэтому я убрал промежуточную и сделал вызов по кнопке самой главной функции. Далее, принцип работы: вводим цифры/буквы в одно поле и в другое. 
Нажимаем кнопку "вычислить". Функции забивают эти данные в массивы и далее сверяют их. Должен признать, мне очень понравилась Ваша реализация. Как работает вывод: объединение - выводит все неповторяющиеся элементы двух массивов. Пересечение - выводит элементы, которые встречались в каждом массиве. Независимо от того, сколько раз. Эта Ваша заслуга. 
Пробел - равноценный участник работы. Это символ. Поэтому если Вы введете в два поля сколько угодно пробелов, а потом некие цифры, то в поле пересечение будет пробел, запятая и остальные числа. Если введете лишь в одном поле пробел, то он будет лишь в поле объединение.
Как я ни старался, достичь двух запятых после моей небольшой корректировки у меня не вышло.
З.Ы.: возможно при сохранении файл как html и последующем открывании у Вас отобразятся "кракозябры". Прошу меня простить за это, т.к. редактировал его в VS. Просто измените кодировку на Windows-1251 в браузере.


Скачать вложение Текст (TXT)
(3.7k баллов)