0

この新しい冒険では、このマトリックスをできるだけ早く入力する必要があります。したがって、私の考えでは、変数について行う必要があるのは次のとおりです。

for ($r = 0 ; $r -lt 5 ; $r++){
    new-variable r$r
    for ($i = 0 ; $i -lt 5 ; $i++){
    $rand = Get-Random -Minimum 0 -Maximum 50
    r$r += "$rand,"
    }
}

r0> は既知のコマンドレットではないことがわかります。これにより、r0...r4 変数が作成されます。これは、row0...row4 を意味し、各 rn には乱数とそれに続くコンマが入力されます。
どうやってするの?
そして...マトリックスを正しい方法で実行しているかどうかは本当にわかりませんが、これが私が今持っているものです:

$r1 = ""
        for ($i = 0 ; $i -lt 4 ; $i++){
        $rand = Get-Random -Minimum 0 -Maximum 50
        $r1 += "$rand,"
        }
    $r1 = $r1.Replace(" ",",")
    $r1 = $r1.TrimEnd(',')
#    Write-Host $r1

$r2 = ""
        for ($i = 0 ; $i -lt 4 ; $i++){
        $rand = Get-Random -Minimum 0 -Maximum 50
        $r2 += "$rand,"
        }
    $r2 = $r2.Replace(" ",",")
    $r2 = $r2.TrimEnd(',')
#    Write-Host $r2

$matrix = @(($r1),($r2))
foreach ($g in $matrix) {$g}
4

3 に答える 3

1

あなたの他の質問のために、マトリックスブロックに乱数を出力するためにこれを構築しました。と を使用$widthして、文字列配列の配列として構築される$heightサイズを定義します。$theMatrix

$width = 4
$height = 5

$theMatrix = @()
For($heightIndex = 1;$heightIndex -le $height;$heightIndex++){
    $theMatrix += ,@(1..$width | ForEach-Object{([string](Get-Random -Minimum 0 -Maximum 50)).PadLeft(2)})
}

$theMatrix | ForEach-Object{$_ -Join "|"}

これにより、乱数のマトリックスが作成されます。これはあなたにとって視覚的に重要だと思うので、数字を文字列に変換して、PadLeft1 桁の数字に遭遇したときに出力をきれいに見せるために使用できるようにしました。最後$_ -Join "|"に、マトリックスを読み取り可能な形式で表示するために使用します。区切り文字をコンマなどに自由に変更してください。

サンプル出力

 1|27|23|20
29|10|25|21
31|37| 9|27
11|36|34|48
43|42|35| 9
于 2014-12-23T16:28:24.117 に答える
0

このようにしてみてください:

$r = 
 for ($i = 0 ; $i -lt 5 ; $i++){
  Get-Random -Minimum 0 -Maximum 50 
 }
于 2014-12-23T15:36:49.337 に答える