Страница 1 из 1
Вычетание одного массива из другого
Добавлено: 2010-04-08 15:29:50
Podedinov
Вот вопрос как можно вычесть один массив и из другого, допустим:
Код: Выделить всё
@a=(1,2,3,4,5,6,7,8,9);
@b=(1,2,3,4,5);
@a-@b=@c=(6,7,8,9);
Re: Вычетание одного массива из другого
Добавлено: 2010-04-08 15:47:53
Гость
В инете нашлось вот:
Код: Выделить всё
my @small = ( 1, 2, 3, 4, 5 );
my @big = ( 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 );
my @res;
my %h;
foreach (@small)
{
$h{$_} = 1;
}
foreach (@big) {
push @res, $_ unless (defined($h{$_}));
}
в @res - результат
Re: Вычетание одного массива из другого
Добавлено: 2010-04-09 7:44:56
ProFTP
Код: Выделить всё
use Quantum::Superpositions;
@a = (a,a,1,1,2,3,4,5,6,7,8,9,10); # integers
@b = (1,2,4,6,8,10,12,14,16,18,20); # doubled
# @c = @a;
my @unionAB = sort { $a <=> $b } eigenstates( any(@a, @b) );
my @intersectionAB = sort { $a <=> $b } eigenstates( any(@a) != any(@b) );
my @differenceAB = sort { $a <=> $b } eigenstates( any(@a) != all(@b) );
# print "@intersectionAB\n";
# print " @unionAB \n";
print " @differenceAB \n";