Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 30.01.2013, 20:45   #1
mashentsia2375
Новичок
 
Регистрация: 30.01.2013
Сообщений: 1
Репутация: 10
По умолчанию Операции над множествами(javascript)

Суть программы - нахождение объединения и пересечения двух множеств. К примеру, если первое множество состоит из элементов {1, 2, 3, 4, 5}, а второе из {3, 4, 5, 6, 7}, то объединение будет равно {1,2,3,4,5,6,7}, а пересечение - {3, 4, 5}. Код работает, ошибки не вылезают. Но при этом выдает что-то абсолютно левое(левые цифры, набор запятых и т.д.)
Код:
<script language="javascript">
//запрашиваем мощность(количество элементов)=================
n = prompt("Введите мощность множества А");
m = prompt("Введите мощность множества B");
//======================================================

//создаем массивы множеств
var a = new Array(n);
var b = new Array(m);
//========================


//заполняем первое множество==================================
for(var i=1; i<=n; i++){
	a[i-1] = prompt("Введите " + i + "й элемент множества А");
}
//========================================================

//заполняем второе множество==================================
for(var i=1; i<=m; i++){
	a[i-1] = prompt("Введите " + i + "й элемент множества B");
}
//========================================================


//Объединение 
function objedinenie( a, b ){
	var res1 = new Array();    //массив с результатом объединения
	for(i=0; i<n; i++){
		res1.push(a[i]) //добавляем в результат все элементы мн-ва А
		}
	for(i=0; i<n; i++){  //если элемента мн-ва В нет в А - добавляем
		for(j=0; j<m; j++){
			if(b[j] != a[i]) res1.push(b[j]);
			}
		}
	return res1;
}

alert("Объединение: "+ objedinenie(a, b));

//Пересечение
function peresechenie(a,b){
	var res2 = new Array(20);
	for(i=0;i<n;i++){
		for(j=0;j<m;j++){
			if (a[i]==b[j])
				res2.push(a[i]);
			}
		}
	return res2;
	}
alert("Пересечение: " + peresechenie(a,b));


</script>
Заранее благодарю за любую помощь)
mashentsia2375 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Тип множество. Операции над множествами. mimit Помощь студентам 0 14.12.2012 23:56
MySQL операции над множествами GreAsk SQL, базы данных 4 29.01.2012 11:42
операции над множествами через векторы нубс++ Общие вопросы C/C++ 1 13.04.2011 00:24
Арифметические операции над числами, полученными из формы ( JavaScript). vedro-compota JavaScript, Ajax 3 14.12.2010 20:45
Операции над множествами britva666 Помощь студентам 2 23.06.2009 20:33


23:50.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.