Показать сообщение отдельно
Старый 10.04.2011, 21:26   #1
KingMaks
Знающий
 
Аватар для KingMaks
 
Регистрация: 26.11.2009
Сообщений: 313
Написано 35 полезных сообщений
(для 95 пользователей)
Вывод всех подмножеств данного множества

Нужно написать программу, которая будет выводить все подмножества введенного множества. Например если ввести множество 1,2,3,4,5 то должны получить:

1
2
3
4
5
12
13
14
15
23
24
25
34
35
45
123
124
125
134
135
145
234
235
245
345
1234
1235
1245
1345
2345
12345
Я сделал пару попыток но ни один вариант не выводит все подмножества, а только их часть:
Вариант 1:
<html>

<head>
<title>Индивидуальная работа</title>
</head>

<body bgcolor='DarkSeaGreen'>

<form name='form1'>

Введите множество елементов через кому:<br>
<input type='text' name='mn' size=50>
<input type='button' name='do' value='Выполнить' OnClick='func();'><br><br>
Список всех подмножеств:<br>
<textarea name='otv' cols=50 rows=10 wrap='vrtual'></textarea>

</form>

<script type='text/javascript'>

function func()
{
var m=document.form1.mn.value.split(',');
var st='';

for(i=0; i<m.length; i++)
{
for(j=0; j<=m.length; j++)
{
if(j+i>m.length-1){break}
st=st+'(';
for(k=j; k<=j+i; k++)
{
if(k>m.length-1){break}
st=st+m[k]+',';
}
st=st.slice(st,-1);
st=st+'); ';
}
}
document.form1.otv.value=st;
}



</script>

</body>

</html>
Вариант 2:
<html>

<head>
<title>Индивидуальная работа</title>
</head>

<body bgcolor='DarkSeaGreen'>

<form name='form1'>

Введите множество елементов через кому:<br>
<input type='text' name='mn' size=50>
<input type='button' name='do' value='Выполнить' OnClick='func();'><br><br>
Список всех подмножеств:<br>
<textarea name='otv' cols=50 rows=10 wrap='vrtual'></textarea>

</form>

<script type='text/javascript'>

function func()
{
var m=document.form1.mn.value.split(',');
var mas=[];
var st=[];
for(i=0; i<m.length; i++)
{
for(s=0; s<=i; s++){mas[s]=m[s]};
for(k=i; k>=0; k--)
{
for(j=k; j<m.length; j++)
{
mas[k]=m[j];
st=st+mas+'| ';

}
}
}
document.form1.otv.value=st;
}


</script>

</body>

</html>
Помогите исправить одну из этих программ, чтобы выводила все подмножества.
__________________
StimuL
Maks
(Offline)
 
Ответить с цитированием