понедельник, 25 июля 2011 г.

алгоритм Уоршелла

cls

function matrixdost($matrix){
    #алгоритм уоршела, для вычисления матрицы достижимости
    for ($k = 0; $k -lt $matrix.Length; $k++){
        for ($i = 0; $i -lt $matrix.Length; $i++){
            for ($j = 0; $j -lt $matrix.Length; $j++){
                $matrix[$i][$j] = $matrix[$i][$j] -bor ($matrix[$i][$k] -band $matrix[$k][$j])
            }
        }
    }
}

function matrixprint($matrix){
    for($i = 0; $i -lt $matrix.Length; $i++){
        $str = [System.String]::Join(",", $matrix[$i])
        Write-Host $str
    }
}



$m = @(
    @(0, 1, 0, 0),
    @(0, 0, 0, 0),
    @(0, 1, 0, 0),
    @(0, 0, 0, 0)
)

matrixprint $m
matrixdost $m
"-------------"
matrixprint $m


Комментариев нет:

Отправить комментарий