RosettaCodeData/Task/Matrix-multiplication/PowerShell/matrix-multiplication.psh

39 lines
675 B
Plaintext

function multarrays($a, $b) {
$c = @()
if($a -and $b) {
$n = $a.count - 1
$m = $b[0].count - 1
$c = @(0)*($n+1)
foreach ($i in 0..$n) {
$c[$i] = foreach ($j in 0..$m) {
$sum = 0
foreach ($k in 0..$n){$sum += $a[$i][$k]*$b[$k][$j]}
$sum
}
}
}
$c
}
function show($a) {
if($a) {
0..($a.count - 1) | foreach{ if($a[$_]){"$($a[$_])"}else{""} }
}
}
$a = @(@(1,2),@(3,4))
$b = @(@(5,6),@(7,8))
$c = @(5,6)
"`$a ="
show $a
""
"`$b ="
show $b
""
"`$c ="
$c
""
"`$a * `$b ="
show (multarrays $a $b)
" "
"`$a * `$c ="
show (multarrays $a $c)