Matrix multiplication: Difference between revisions
Content added Content deleted
m (→{{header|BASIC}}: - put full basic in subsection) |
|||
Line 3,567: | Line 3,567: | ||
<lang PowerShell> |
<lang PowerShell> |
||
function multarrays($a, $b) { |
function multarrays($a, $b) { |
||
$n,$m,$p = ($a.Count - 1), ($b.Count - 1), ($b[0].Count - 1) |
|||
$c = @() |
|||
if($a - |
if ($a[0].Count -ne $b.Count) {throw "Multiplication impossible"} |
||
$c = @(0)*($b.Count) |
|||
foreach ($i in 0..$n) { |
|||
$c = |
$c[$i] = foreach ($j in 0..$p) { |
||
$sum = 0 |
|||
foreach ($k in 0..$m){$sum += $a[$i][$k]*$b[$k][$j]} |
|||
$sum |
|||
foreach ($k in 0..$n){$sum += $a[$i][$k]*$b[$k][$j]} |
|||
$sum |
|||
} |
|||
} |
} |
||
} |
} |
||
$c |
$c |
||
} |
} |
||
function show($a) { |
function show($a) { $a | foreach{"$_"}} |
||
if($a) { |
|||
0..($a.count - 1) | foreach{ if($a[$_]){"$($a[$_])"}else{""} } |
|||
} |
|||
} |
|||
$a = @(@(1,2),@(3,4)) |
$a = @(@(1,2),@(3,4)) |
||
$b = @(@(5,6),@(7,8)) |
$b = @(@(5,6),@(7,8)) |